欢迎来到DIVCSS5查找CSS资料与学习DIV CSS布局技术!
01.Safari 中z-index的层级问题
在Safari浏览器下(此Safari浏览器包括iOS的Safari,iPhone上的微信浏览器,以及Mac OS X系统的Safari浏览器),当我们使用3D transform变换的时候,如果祖先元素没有overflow:hidden/scroll/auto等限制,则会直接忽略自身和其他元素的z-index层叠顺序设置,而直接使用真实世界的3D视角进行渲染。例如下面的场景,图中红框里面的模块,使用 3D transform变换,进行旋转动画,但是在Safari浏览器下,忽略了二维码遮罩层的z-index,结果使用了真实世界的3D视角进行渲染。出现了重叠的bug:
可以让你受益匪浅的10个css使用技巧,值得收藏
可以让你受益匪浅的10个css使用技巧,值得收藏
解决方法:
02.文字居中兼容
正常处理文字上下居中的手段是让元素height和line-height相等,但是安卓环境下当字体大小<14px/0.7rem的时候会出现居中失效的情况。
解决方法:
但由于放大之后占据空间,左右会留白,需要利用margin负值 margin: -0.35rem -0.45rem 0;调整
3.有解决方案是将rem改为px。
03.2个a标签做90度旋转bug
定义了一个动画效果如下(sass代码):
这里是2个a标签,做90度的旋转效果使得两个a可以循环切换展示。这里2个的基本样式是一致的,宽高也一样。但是在安卓下(ios正常)只有打开页面能看到的第一个a标签能正常跳转,能正常绑定事件。第二个a不能跳转,我就想那我通过点击事件来跳转可以不,结果绑定任何事件都不生效。
解决方法:
然后测试发现,在旋转过程中(只要未完全旋转90度)点击还是能一切正常的。于是把旋转角度改为了89.99度,一切正常。动画效果修改为:
后来查找了一下stackoverflow(https://stackoverflow.com/questions/23548612/cant-click-on-buttons-after-css-transform)。里面也是说了这个解决方法。
04.使用currentColor来简化css
设置border-color、background-color等颜色的时候,可以使用currentColor[与当前元素的字体颜色相同]来简化css。
05.灰色滤镜做样式的disable
灰色图可以直接加滤镜,不用切多一张图。如图:
可以让你受益匪浅的10个css使用技巧,值得收藏
可以让你受益匪浅的10个css使用技巧,值得收藏
解决方法:
06.曲线阴影的实现
效果:
可以让你受益匪浅的10个css使用技巧,值得收藏
可以让你受益匪浅的10个css使用技巧,值得收藏
代码:
可以让你受益匪浅的10个css使用技巧,值得收藏
可以让你受益匪浅的10个css使用技巧,值得收藏
07.翘边阴影的实现
利用:before和:after,加上绝对定位的性质,可以形成一个矩形,这个时候结合CSS3的倾斜属性skew和旋转属性rote。就可以形成一个有旋转角度的平行四边形,这个时候再和原来的矩形重叠,则可产生翘边效果。
效果:
可以让你受益匪浅的10个css使用技巧,值得收藏
可以让你受益匪浅的10个css使用技巧,值得收藏
代码:
可以让你受益匪浅的10个css使用技巧,值得收藏
可以让你受益匪浅的10个css使用技巧,值得收藏
可以让你受益匪浅的10个css使用技巧,值得收藏
可以让你受益匪浅的10个css使用技巧,值得收藏
可以让你受益匪浅的10个css使用技巧,值得收藏
可以让你受益匪浅的10个css使用技巧,值得收藏
08.用-webkit-mask实现蒙版
效果图:
可以让你受益匪浅的10个css使用技巧,值得收藏
可以让你受益匪浅的10个css使用技巧,值得收藏
代码:
mask.png中黑色代表是不透明的(alpha:1),其他部分为透明的(alpha:0),将它盖在背景图上,注意:背景图对应mask.png中透明的位置也会变成透明,留下非透明的形状,即背景图的可见形状与mask.png的可见形状相同,即为"蒙版"。
09.图片自适应占位方式
当图片未正确加载,或加载完成前,由于图片高度为0,其容器会因为没有内容,导致容器无法撑高而塌陷,而如果加载较慢则会在图片加载完成后出现闪烁的情况。
css中,当padding-top/bottom值为百分比时,其值都是以其父元素的宽度为参照对象。因此对于宽高比例固定的情况,可以利用padding-top/bottom用于图片自适应占位,解决页面闪烁的问题。
如果仅设置值padding-top/bottom为百分比,会出现一个问题,就是该方法容器的max-height属性会失效,就无法限制容器的最大高度了。
因此,可以给容器添加一个伪元素的子元素用于撑起内容,该子元素拥有一个padding-top:100%,同时给容器一个max-height尝试限制容器的高度,最后内容用绝对定位的方式添加即可。如:
但是对于宽高比例不定的图片来说,这样做可能导致图片显示不全,使用时要注意。
10.页面自适应最佳实践
经过大型项目实践,下面这段CSS是最好的基于rem和vm和calc实践代码:
◆◆最后◆◆
有兴趣学习前端的小伙伴们,可以私信回复(1)
感谢您的阅读!
可以让你受益匪浅的10个css使用技巧,值得收藏
可以让你受益匪浅的10个css使用技巧,值得收藏

如需转载,请注明文章出处和来源网址:http://www.divcss5.com/jiqiao/j58189.shtml