以下是关于“背景透明文字不透明的最佳方法兼容IE(以背景黑色透明度0.5为例)”的攻略:
1.使用CSS3的RGBA属性
使用CSS3的RGBA属性可以非常方便地设置背景颜色的透明度。RGBA属性由红、绿、蓝三个色值和一个透明度值组成,它们的取值范围均是0-255,透明度值则是0-1之间的小数,如下所示:
background-color: rgba(0,0,0,0.5); /* 背景为黑色,透明度为50% */
color: #fff; /* 文字为白色 */
如果要兼容IE浏览器,可以使用IE专有的filter属性,实现同样的效果。具体代码如下:
background-color: #000; /* IE下使用纯黑色作为背景 */
background-color: rgba(0,0,0,.5); /* 背景为黑色,透明度为50% */
color: #fff; /* 文字为白色 */
filter:progid:DXImageTransform.Microsoft.gradient(startColorstr=#80000000,endColorstr=#80000000); /* IE6-9下使用滤镜实现透明度 */
zoom: 1; /* 解决IE6上的bug */
上述代码中的filter属性使用了一项名为渐变滤镜(gradient filter)的特性来实现透明效果,startColorstr和endColorstr参数分别表示滤镜的起始颜色和结束颜色,值为ARGB格式的16进制数,其中前两位表示透明度,后六位表示RGB颜色值。
2.使用伪元素
使用伪元素可以在不添加额外HTML结构的情况下实现背景透明文字不透明的效果。基本思路是为元素添加一个before伪元素,并设置其content属性为空,在其内部添加一个span元素,用来显示文字。然后给before伪元素设置一个背景色和透明度,再设置z-index为-1,这样文字就会显示在背景上方,从而实现不透明的效果。具体代码如下:
div {
position: relative;
z-index: 1;
color: #fff; /* 文字为白色 */
}
div:before {
content: "";
display: block;
position: absolute;
background-color: #000; /* 背景为黑色 */
opacity: 0.5; /* 透明度为50% */
top: 0;
left: 0;
right: 0;
bottom: 0;
z-index: -1;
}
div span {
position: relative;
z-index: 2;
}
这种方法同样可以兼容IE浏览器。具体代码如下:
div {
position: relative;
z-index: 1;
color: #fff; /* 文字为白色 */
}
div:before {
content: "";
display: block;
position: absolute;
background-color: #000; /* 背景为黑色 */
opacity: 0.5; /* 透明度为50% */
top: 0;
left: 0;
right: 0;
bottom: 0;
z-index: -1;
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#80000000,endColorstr=#80000000); /* IE6-9下使用滤镜实现透明度 */
zoom: 1; /* 解决IE6上的bug */
}
div span {
position: relative;
z-index: 2;
}
上述代码中的before伪元素使用了与CSS3的RGBA属性类似的方法来设置背景色的透明度。IE浏览器下同样使用了渐变滤镜的方式来设置透明度。
The End


大气响应式网络建站服务公司织梦模板
高端大气html5设计公司网站源码
织梦dede网页模板下载素材销售下载站平台(带会员中心带筛选)
财税代理公司注册代理记账网站织梦模板(带手机端)
成人高考自考在职研究生教育机构网站源码(带手机端)
高端HTML5响应式企业集团通用类网站织梦模板(自适应手机端)