梯形标签页

梯形是用CSS难以生成的形状,使用伪元素可行,但不灵活。
Sooooooooo,我们可以使用CSS中的3D旋转(由于透视的关系,我们最终看到的二维图像就是一个梯形!)来模拟出这个效果:

 transform: perspective(.5em) rotateX(5deg);
使用3D变形内部的变形效应是不可逆转的

因此,我们应该采用将变形效果作用在伪元素上的方法:

<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <title>梯形标签页</title>
    <style type="text/css" media="screen">
        .tab{
            display: block;
            position: relative;
            margin:0 auto;
            padding: .3em;
            width: 5em;
            font-size: 2em;
            text-align: center;
            text-decoration: none;
            color:#fff;      
        }
        .tab::before{
            content: '';
            position: absolute;
            top: 0; right: 0; bottom: 0; left: 0;
            z-index: -1;
            background: #58a;
            transform: scaleY(1.3) perspective(.5em) rotateX(5deg);
            transform-origin: bottom;
        }
    </style>
</head>
<body>
    <a href="" class="tab">Click me</a>
</body>
</html>

使用这种技巧的标签应用样式就会很灵活:

.tabs{
            display: block;
            position: relative;
            margin:0 auto;
            padding: .3em;
            width: 5em;
            font-size: 2em;
            text-align: center;
            text-decoration: none;
            color:#fff;      
        }
.tabs::before{
            content: '';
            position: absolute;
            top: 0; right: 0; bottom: 0; left: 0;
            z-index: -1;
            background: #ccc;
            background-image: linear-gradient(hsla(0,0%,100%,.6),hsla(0,0%,100%,0));
            border: 1px solid rgba(0,0,0,.4);
            border-bottom: none;
            border-radius: .5em .5em 0 0;
            box-shadow: 0 .15em width inset;
            transform: scaleY(1.3) perspective(.5em) rotateX(5deg);
            transform-origin: bottom left;
        }
效果图
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 让一个矩形在3D上进行X轴旋转,由于3D透视的关系,看上去就会变成一个梯形,所以可以利用之前平行四边形的解决方案来...
    Elevens_regret阅读 4,606评论 0 1
  • 有了css3的3d变形功能之后,写一个梯形出来就不需要再用border搭两个三角形在两边了。 我们让它以水平方向上...
    巴斯光年lip阅读 12,890评论 1 7
  • 问答题47 /72 常见浏览器兼容性问题与解决方案? 参考答案 (1)浏览器兼容问题一:不同浏览器的标签默认的外补...
    _Yfling阅读 14,680评论 1 92
  • 1、属性选择器:id选择器 # 通过id 来选择类名选择器 . 通过类名来选择属性选择器 ...
    Yuann阅读 5,559评论 0 7
  • 这里说的是黄鸡翅木(呈黄褐色的铁刀木),算是红木中的“异类”(从审美上而言)。众所周知,红木之前主要泛指红色的硬木...
    人间散训阅读 3,736评论 0 2