如何设置box shadow的透明度
(从已经死了一次又一次终于挂掉的百度空间人工抢救出来的,发表日期2014-04-24)
今天发现使用box-shadow属性,可以很好的给div添加阴影效果,但是添加的效果如果是:
-moz-box-shadow:0 4px 4px #999;
-webkit-box-shadow:0 4px 4px #999;
box-shadow:0 4px 4px #999;
使用#设置的颜色是没有透明效果的。这样设置阴影的颜色,如果阴影落在的位置不是白色的,甚至是动态的,例如落在了幻灯片上,好几张不同颜色的图片轮播。那么这样设置阴影的颜色,会是阴影效果看起来很假!
解决办法:使用rgba来代替。
-moz-box-shadow:0 4px 4px rgba(0, 0, 0, 0.4);
-webkit-box-shadow:0 4px 4px rgba(0, 0, 0, 0.4);
box-shadow:0 4px 4px rgba(0, 0, 0, 0.4);
这里要交代一下:
ie6和ie7应该是不支持box-shadow属性的。
可以使用:*filter: progid:DXImageTransform.Microsoft.Shadow(Strength=4, Direction=135, Color="#888888"); 来代替
由于我设置的阴影并不要求一定要在所有浏览器中显示。所以我没有添加这行代码,所以也没有验证在这里将Color="#888888"中的颜色用rgba来代替是否可行,有需要的朋友自己验证去,估计够呛!
我的原则:
只要不是布局错位等问题,我是不会做兼容性修改的。
为了少部分不升级浏览器的顽固派,没有必要增加一行冗余代码,既然用的旧版本浏览器,那看到的效果不够漂亮是肯定的。
之所以好多旧版本ie浏览器到现在还存在,都是前端惯的!
如果不是嫌麻烦的话,就应该给ie6或者ie7的用户专门编写一套网页布局。ie6的浏览器一打开就是那种2000年网站的风格。不是喜欢怀旧吗?怀旧去吧!