如果要实现透明边框,子元素不透明,那么就要用这个组合:
{filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#3f000000',endColorstr='#3f000000');
background-color:rgba(255, 255, 255, 0.3)}, 但要注意这两个属性中的颜色,透明度一定要一致,这个兼容性最高,效果也最好。
单一的使用一种样式是不能做出来各种浏览器都兼容的效果的,下面是四种透明样式的具体使用特点:
filter: alpha(opacity=50)——
1.会使子元素透明。
2.只针对针对所有IE浏览器及以Trident内核的诸如360浏览器,世界之窗浏览器等非IE浏览器有效。
</pre><pre name="code" class="html"> filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#3f000000',endColorstr='#3f000000')——
1.不会使子元素透明。
2.只针对针对所有IE浏览器及以Trident内核的诸如360浏览器,世界之窗浏览器等非IE浏览器有效。
</pre><pre name="code" class="html"> opacity: 0.5——
1.会使子元素透明。
2.IE8以下版本及Trident内核的非IE浏览器均不支持,IE9以上及其他诸如火狐,谷歌极速等主流浏览器均支持。
</pre><pre name="code" class="html">background-color:rgba(255, 255, 255, 0.3)——
1.不会使子元素透明。
2.IE8以下版本及Trident内核的非IE浏览器均不支持,IE9以上及其他诸如火狐,谷歌极速等主流浏览器均支持。
火狐浏览器支持,Webkit内核的诸如360极速浏览器,谷歌极速浏览器等都也支持。
使用技巧:
鉴于上面属性的兼容性,如果不考虑元素的子元素,可以使用这个组合:
{filter: alpha(opacity=50);background-color:rgba(255, 255, 255, 0.3) },
第一个属性支持所有IE内核的浏览器,第二个元素支持其他主流的以火狐,谷歌极速等浏览器。
如果要实现透明边框,子元素不透明,那么就要用这个组合:
{filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#3f000000',endColorstr='#3f000000');
background-color:rgba(255, 255, 255, 0.3)}, 但要注意这两个属性中的颜色,透明度一定要一致,这个兼容性最高,效果也最好。
</pre><pre name="code" class="html">追问
半透明上面内容不透明问题解决了,非常感谢你,谢谢。
不过发现一个新问题,ie8、360等浏览器,出现,透明层下面层上的鼠标事件,还在起作用,这个怎么办?
</pre><pre name="code" class="html">回答
这里一共有两个层的,一个覆盖层,一个弹窗层。
覆盖层高度宽度均为100%的层要放在当前页面所有层的最前面,然后设置灰色的背景色和透明度。
弹窗层,即你所谓的透明层吧,放到覆盖层的上面,这样就可以了。当弹窗层显示的时候,同时显示覆盖层,那么这两个层在整个页面最外边,就不能再操作后面的内容了。
实现的方法是这样的,具体的两个层的布局还有样式那些,你要自己摸索了,但不能给你源码,只有自己琢磨出来的东西用起来才能更灵活!