css弧边选项卡的项目实践


Posted in HTML / CSS onMay 07, 2023

实现效果

css弧边选项卡的项目实践

实现方式

主要使用了

等属性

思路

只需要想清楚如何实现弧形三角即可。这里还是借助了渐变 -- 径向渐变

css弧边选项卡的项目实践

其实他是这样,如下图所示,我们只需要把黑色部分替换为透明即可,使用两个伪元素即可:

css弧边选项卡的项目实践

通过超出隐藏和旋转得到想要的效果

css弧边选项卡的项目实践

css弧边选项卡的项目实践

综上

在上述 outside-circle 的图形基础上:

  • 设置一个适当的 perspective 值
  • 设置一个恰当的旋转圆心 transform-origin
  • 绕 X 轴进行旋转动图演示

css弧边选项卡的项目实践

代码

<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <meta http-equiv="X-UA-Compatible" content="IE=edge">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>Document</title>
</head>
<style>
  .g-container {
    position: relative;
    width: 300px;
    height: 100px;
    background: red;
    border: 1px solid #277f9e;
    border-radius: 10px;
    overflow: hidden;
}
.g-inner {
    position: absolute;
    width: 150px;
    height: 50px;
    background: #fee6e0;
    bottom: 0;
    border-radius: 0 20px 0 20px;
    transform: perspective(40px) scaleX(1.4) scaleY(1.5) rotateX(20deg) translate(-10px, 0);
    transform-origin: 50% 100%;
}
.g-inner::before {
    content: "";
    position: absolute;
    right: -10px;
    width: 10px;
    height: 10px;
    top: 40px;
    background: radial-gradient(circle at 100% 0, transparent, transparent 9.5px, #fee6e0 10px, #fee6e0);
}
.g-after {
    position: absolute;
    width: 150px;
    height: 50px;
    background: #6ecb15;
    bottom: 49px;
    right: 0;
    border-radius: 20px 0 20px 0;
    transform: perspective(40px) scaleX(1.4) scaleY(-1.5) rotateX(20deg) translate(14px, 0);
    transform-origin: 53% 100%;
}
.g-after::before {
    content: "";
    position: absolute;
    left: -10px;
    top: 40px;
    width: 10px;
    height: 10px;
    background: radial-gradient(circle at 0 0, transparent, transparent 9.5px, #6ecb15 10px, #6ecb15);
}
.g-inner-text,.g-after-text {
  position: absolute;
  width: 150px;
  height: 50px;
  line-height: 50px;
  text-align: center;
}
.g-inner-text {
  top: 50%;
  left: 0;
}
.g-after-text {
  top: 50%;
  right: 0;
}
</style>
<body>
  <div class="g-container">
    <div class="g-inner"></div>
    <div class="g-after"></div>
    <div class="g-inner-text">选项卡1</div>
    <div class="g-after-text">选项卡2</div>
  </div>
</body>
</html>

参考文章:https://github.com/chokcoco/iCSS/issues/224

到此这篇关于css弧边选项卡的项目实践的文章就介绍到这了,更多相关css弧边选项卡内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章,希望大家以后多多支持三水点靠木!

 
HTML / CSS 相关文章推荐
详解使用CSS3的@media来编写响应式的页面
Nov 01 HTML / CSS
css3实现3d旋转动画特效
Mar 10 HTML / CSS
CSS3中的clip-path使用攻略
Aug 03 HTML / CSS
CSS3媒体查询Media Queries基础学习教程
Feb 29 HTML / CSS
浅析CSS3中鲜为人知的属性:-webkit-tap-highlight-color
Jan 12 HTML / CSS
CSS3之transition实现下划线的示例代码
May 30 HTML / CSS
css3弹性盒子flex实现三栏布局的实现
Nov 12 HTML / CSS
html5 web本地存储将取代我们的cookie
Dec 26 HTML / CSS
html5基础教程常用技巧整理
Aug 20 HTML / CSS
使用phonegap获取设备的一些信息方法
Mar 31 HTML / CSS
从零实现一个自定义html5播放器的示例代码
Aug 01 HTML / CSS
html中两种获取标签内的值的方法
Jun 10 HTML / CSS
HTML5中的DOCUMENT.VISIBILITYSTATE属性详解
May 07 #HTML / CSS
CSS实现鼠标悬浮动画特效
CSS link与@import的区别和用法解析
May 07 #HTML / CSS
html,css,javascript是怎样变成页面的
May 07 #HTML / CSS
html原生table实现合并单元格以及合并表头的示例代码
May 07 #HTML / CSS
html解决浏览器记住密码输入框的问题
May 07 #HTML / CSS
使用CSS实现百叶窗效果示例代码
You might like
深入解析php模板技术原理【一】
2008/01/10 PHP
php使用curl出现Expect:100-continue解决方法
2015/03/03 PHP
PHP中实现Bloom Filter算法
2015/03/30 PHP
护卫神php套件 php版本升级方法(php5.5.24)
2015/05/10 PHP
Laravel多用户认证系统示例详解
2018/03/13 PHP
PHP连接MySQL数据库的三种方式实例分析【mysql、mysqli、pdo】
2019/11/04 PHP
phpstudy后门rce批量利用脚本的实现
2019/12/12 PHP
从sohu弄下来的flash中展示图片的代码
2007/04/27 Javascript
编写Js代码要注意的几条规则
2010/09/10 Javascript
Mac/Windows下如何安装Node.js
2013/11/22 Javascript
javascript中indexOf技术详解
2015/05/07 Javascript
关于JSON与JSONP简单总结
2016/08/16 Javascript
把多个JavaScript函数绑定到onload事件处理函数上的方法
2016/09/04 Javascript
js中scrollTop()方法和scroll()方法用法示例
2016/10/03 Javascript
js基于myFocus实现轮播图效果
2017/02/14 Javascript
移动端刮刮乐的实现方式(js+HTML5)
2017/03/23 Javascript
微信小程序中页面FOR循环和嵌套循环
2017/06/21 Javascript
通过示例彻底搞懂js闭包
2017/08/10 Javascript
Angularjs使用过滤器完成排序功能
2017/09/20 Javascript
11行JS代码制作二维码生成功能
2018/03/09 Javascript
利用Console来Debug的10个高级技巧汇总
2018/03/26 Javascript
node.js使用fs读取文件出错的解决方案
2019/10/23 Javascript
Vue $attrs &amp; inheritAttr实现button禁用效果案例
2020/12/07 Vue.js
[10:21]2018DOTA2国际邀请赛寻真——Winstrike
2018/08/11 DOTA
各种Python库安装包下载地址与安装过程详细介绍(Windows版)
2016/11/02 Python
对python-3-print重定向输出的几种方法总结
2018/05/11 Python
Python实现SMTP邮件发送
2020/06/16 Python
如何使用 Python 读取文件和照片的创建日期
2020/09/05 Python
捷克浴室和厨房设备购物网站:SIKO
2018/08/11 全球购物
香港演唱会订票网站:StubHub香港
2019/10/10 全球购物
戴森比利时官方网站:Dyson BE
2020/10/03 全球购物
项目副经理岗位职责
2013/12/30 职场文书
班子四风对照检查材料
2014/08/21 职场文书
解除劳动合同协议书范本2014
2014/09/25 职场文书
2019关于垃圾分类处理的调查报告
2019/12/26 职场文书
Python尝试实现蒙特卡罗模拟期权定价
2022/04/21 Python