这次给大家带来实战中使用CSS技巧分享,实战中使用CSS的注意事项有哪些,下面就是实战案例,一起来看一下。
创建剪切动画
对于剪切动画,使用clip-path代替width/height,避免DOM重排导致性能过低。
.animate { width: 200px; height: 200px; background: #000; animation: 1s clip;}@keyframes clip { 0% { clip-path: inset(0 0 0 0); } 100% { clip-path: inset(0 100% 100% 0); }}
登录后复制
clip-path也能用来进行其他规则/不规则图形的剪切
.clip { clip-path: polygon(0 100%, 50% 0, 100% 100%, 0 30%, 100% 30%); /* 多边形 */ clip-path: circle(30px at 35px 35px); /* 圆形 */ clip-path: ellipse(30px 25px at 35px 35px); /* 椭圆 */}
登录后复制
优化动画性能
除了使用transform3d开启gpu加速,还可以使用will-change强制gpu加速优化动画性能
.animate { width: 200px; height: 200px; background: #000; animation: 1s clip; will-change: clip-path;}@keyframes clip { 0% { clip-path: inset(0 0 0 0); } 100% { clip-path: inset(0 100% 100% 0); }}
登录后复制
实现长宽比
使用padding模拟,然后子元素使用注意事项
/* 1:1 */.container { width: 200px;}.container:after { display: block; content: ' '; padding-top: 100%;}/* 16:9 */.container { width: 200px;}.container:after { display: block; content: ' '; padding-top: calc(100% * 9 / 16);}
登录后复制
垂直居中
我们常用的方式:
dislay: inline-block
top: 50% + transform: tranlsateY(-50%)
display: flex
其余还有padding上下撑高、display: table、注意事项 + margin: auto、绝对定位 + margin等等,这些属于不常用、特殊场景才能用、CSS3之前的hack方式,CSS3之后就不必使用这些来实现垂直居中,就不多说了。
其中display: flex属于万金油,大多数场景可以直接用它,但还是有些特殊的场景不能用:
子元素需要文字截断,为了兼容4.X的Android浏览器,必须使用其他方式(一般是transform)
子元素需要多行布局,4.x的Android不支持flex-wrap,不能多行布局
相信看了本文案例你已经掌握了方法,更多精彩请关注【创想鸟】其它相关文章!
推荐阅读:
注意事项
注意事项
以上就是实战中使用CSS技巧分享的详细内容,更多请关注【创想鸟】其它相关文章!
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至253000106@qq.com举报,一经查实,本站将立刻删除。
发布者:PHP中文网,转转请注明出处:https://www.chuangxiangniao.com/p/2757843.html