如何设置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年网站的风格。不是喜欢怀旧吗?怀旧去吧!

posted @ 2015-05-26 10:09  幻想家~  阅读(19234)  评论(0编辑  收藏  举报