美文网首页
13、梯形标签页

13、梯形标签页

作者: Elevens_regret | 来源:发表于2017-04-07 16:30 被阅读0次

让一个矩形在3D上进行X轴旋转,由于3D透视的关系,看上去就会变成一个梯形,所以可以利用之前平行四边形的解决方案来实现梯形,因为3D变形无法通过内部元素的反向变形来打到抵消的效果,所以不能使用嵌套元素解决方案,只能使用伪元素解决方案。

#a:after{
    transform: perspective(.5em) rotateX(3deg);
}

由于没有设置transform-origin属性,应用变形的伪元素会以他自身的中心线为轴进行旋转,这样看上去,整个元素的宽度就增加了,并且位置会稍微下移,高度会有少量缩减。
将伪元素的轴线设置为底边可以解决前两个问题。

transform-origin: bottom;

为了弥补元素在高度上的缩减,可以对伪元素的高进行放大,具体放大的数值可以根据旋转的角度进行微调。

transform:scaleY(1.4) perspective(.5em) rotateX(5deg);

这个技巧的最大优点在于CSS样式非常灵活,可以给伪元素添加背景,边框,圆角,投影等等属性。并且只要把transform-origin属性的值改为 bottom left或bottom right,就可以生成左边或右边的直角梯形(注意对左右内边距进行补正,让文字在视觉效果上保持居中)。

#a{
    box-sizing: border-box; // 保证增加内边距时盒子总大小不变
    padding-right: 30px;
}
#a:after{
    transform:scaleY(1.4) perspective(.5em) rotateX(5deg);
    transform-origin: bottom left;
}

这一技巧可以很容易实现梯形样式的标签。


相关文章

  • 13、梯形标签页

    让一个矩形在3D上进行X轴旋转,由于3D透视的关系,看上去就会变成一个梯形,所以可以利用之前平行四边形的解决方案来...

  • 梯形标签页

    梯形是用CSS难以生成的形状,使用伪元素可行,但不灵活。Sooooooooo,我们可以使用CSS中的3D旋转(由于...

  • vue实现梯形tag标签页

    有时候一些框架的组件样式并不太美观但是很通用,如果你想要把它变美观些就必须要重置框架组件的样式代码,那么问题来了重...

  • Bootstrap学习笔记(三)

    13.缩略图 .thumbnail:圆角的外边框.caption标题字幕样式 13.导航 .nav:标签页基类(u...

  • Vue3 + Element Plus 实现动态标签页及右键菜单

    1 前言 1.1 目的 Tabs 动态标签页实现右键菜单【关闭当前标签页】、【关闭左侧标签页】、【关闭右侧标签页】...

  • Python selenium 对浏览器标签页进行关闭和切换

    1.关闭浏览器全部标签页 driver.quit() 2.关闭当前标签页(从标签页A打开新的标签页B,关闭标签页A...

  • 四、Selenium打开关闭浏览器新标签页

    1.关闭浏览器全部标签页 driver.quit() 2.关闭当前标签页(从标签页A打开新的标签页B,关闭标签页A...

  • 标签页

  • 标签页

    1.以一个带有.nav、.nav-tabs / .nav-pills的无序列表开始;2.用 标签来承载菜单项:为其...

  • Firefox个人配置简要

    扩展 Tab Mix Plus加强标签页功能 可以实现在紧邻标签页打开新标签页;屏幕外标签页当前屏幕显示;快捷键跳...

网友评论

      本文标题:13、梯形标签页

      本文链接:https://www.haomeiwen.com/subject/alehattx.html