CSS - 背景色半透明的写法(兼容IE8)
作者:hangge | 2018-01-14 08:10
1,通常的做法
(1)目前大多数浏览器都支持 CSS3,我们只需将背景色设为类似于 rgba(255, 255, 255, 0.4) 这样的 rgba 颜色即可:
- 前三个值分别表示红绿蓝(0 - 255)。
- 第四个值是透明值,取值 0 完全透明,取值 1 完全不透明
(2)下面是一个简单的样例,我在整个页面上方覆盖一个半透明的黑色蒙版层。
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title></title> <style> #mask { position: fixed; top: 0px; left: 0px; right: 0px; bottom: 0px; background: rgba(0, 0, 0, .5); } </style> </head> <body> <input type="text" name="" value="欢迎访问 hanggge.com"> <button type="button" name="button">提交</button> <div id="mask" /> </body> </html>
2,兼容低版本浏览器的写法
(1)对于那些低版本的浏览器(比如:IE8),上面的写法完全没有效果。如果需要兼容 IE8 的话,可以借助 IE 滤镜来实现。
(2)比如我们在上面的样式里增加 filter 相关代码:
样式里的 #88000000 说明:
- 前两位是十六进制透明值,00 是完全透明,FF 是完全不透明。
- 后六位是十六进制颜色值。
#mask { position: fixed; top: 0px; left: 0px; right: 0px; bottom: 0px; background: rgba(0, 0, 0, .5); filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#88000000,endColorstr=#88000000); }再次使用 IE8 打开页面,可以发现透明图层正常显示了:
全部评论(0)