欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  web前端

兼容ie7、8、9、10、FF、Chrome的遮罩显示

程序员文章站 2022-04-06 11:47:48
...
经常碰到这种情形,要实现图片上有一层遮罩和按钮,鼠标滑过时遮罩颜色变深且按钮图片变化,磕磕碰碰终于弄出来题目所述兼容的解决方案。

对于遮罩的实现,将遮罩层、按钮、图片放置在同一个div中,根据absolute的位置跟随特性,将遮罩层和按钮放在图片的前面,position均设置为absolute不占据任何空间。设置遮罩层的颜色和透明度,由于颜色和透明度会设置到整个遮罩层及其子元素的透明度,如果将按钮图片放在遮罩层内,按钮图片也会有透明度,达不到所要的视觉效果,所以将遮罩层和按钮图标设置为平级。

兼容ie7、8、9、10、FF、Chrome的遮罩显示兼容ie7、8、9、10、FF、Chrome的遮罩显示

然而,在IE7、8中,background-color中rgba并不能表现出遮罩层的效果,所以要将红框内颜色及透明度的写法换一种:

兼容ie7、8、9、10、FF、Chrome的遮罩显示 ,背景设置为黑色,opacity设置透明度,filter是IE滤镜(为使IE兼容显示透明度)

这样就实现了题目提到的各个浏览器的一致的视觉效果:

兼容ie7、8、9、10、FF、Chrome的遮罩显示兼容ie7、8、9、10、FF、Chrome的遮罩显示