背景透明文字不透明的最佳方法兼容IE(以背景黑色透明度0.5为例)

以背景黑色,透明度0.5举例为大家详细介绍下关于背景透明,文字不透明的最佳方法同时兼容IE,具体实现如下,感兴趣的朋友可以参考下哈希望对大家有所帮助

以背景黑色,透明度0.5举例

非IE:background:rgba(0,0,0,0.5);

IE: filter:progid:DXImageTransform.Microsoft.gradient(startColorstr=#7f000000,endColorstr=#7f000000);

PS:#7f000000 其中7f是透明度0.5转换成16进制的数值,000000是黑色的16进制数值

具体数值转换可以参考

rgba 和IE下filter数值的转换
rgba 透明值        IEfilter值

0.1 19
0.2 33
0.3 4C
0.4 66
0.5 7F
0.6 99
0.7 B2
0.8 C8
0.9 E5

直接取整计算的,没有进位直接舍去 
alpha*255再转换成16进制即可

我个人认为这个写法是最好的,无需单独定义背景层,代码精简,本人一直在用,兼容IE6,有更好的解决办法,欢迎留言探讨

时间: 2024-10-25 20:38:20

背景透明文字不透明的最佳方法兼容IE(以背景黑色透明度0.5为例)的相关文章

关于实现背景透明文字不透明的解决方案

最近在做项目的时候遇到实现背景透明文字不透明的解决方法要求的兼容性是ie8+ 1.大家豆知道background:rgba(),可以实现背景透明文字不透明但是ie8 不支持background:rgba(); 如果不考虑ie 8 我们可以直接rgba就解决了 2.如果考虑ie8 我的做法是,先说我的做法,再说别人的做法. 3.我的做法是按照设计稿切切一张1px*1px的png透明图片然后background:url(toumingdu.png);这样就会平铺过去,可以很快实现背景透明文字不透明,

div半透明背景,文字不透明

1 background: rgba(255, 255, 255, 0.8) !important; /* IE无效,FF有效 */ 2 3 background: #fff; 4 5 filter: alpha(opacity=60); 在需要不透明文字的元素样式上添加样式:position:relative; div半透明背景,文字不透明

css背景透明文字不透明

测试背景透明度为0.3.文字不透明: background-color: #000; /* 一.CSS3的opacity */ opacity: 0.3; /* 兼容浏览器为:firefox,chrome,IE9+ 文字也跟着透明*/ /* 二.CSS3的rgba */ background: rgba(0, 0, 0, 0.3); /* 兼容浏览器为:firefox,chrome,IE9+ 其中IE8,IE7,IE6解析为背景全透明 文字不透明 */ /* 三.IE专属滤镜 */ filter

css 透明 文字不透明

用两个DIV 作为容器实现 Firefox chrome IE6+ 1 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 2 <html xmlns="http://www.w3.org/1999/xhtml"> 3 <head>

css实现背景透明文字不透明

设置元素的透明度: -moz-opacity:0.8; /*在Firefox中设置元素透明度 filter: alpha(opacity=80); /*ie使用滤镜设置透明 但是当我们对一个标签设置背景的透明度时,往往我们并不希望该标签上的文字图片也变成半透明了. 例如: <div><p>不透明</p></div> div{-moz-opacity:0.3;filter:alpha(opacity=30);background:#000;width:500p

CSS3实现背景透明文字不透明

最近遇到一个需求,如下图,input框要有透明效果 首先想到的方法是CSS3的 opacity属性,但事实证明我想的太简单了 这个属性虽然让input框有透明效果,同时文字也会有透明效果,导致文字不清晰,如下图 于是我开始思考其它方式,最后想到了通过透明背景图来实现 背景图虽然能够解决问题,但会造成空div,并且还需要设置定位 感觉把简单的事情变得复杂了,我始终认为有更简单的方法 最后终于被我找到了完美解决的方法--用CSS3的 rgba 来设置 background-color: rgb(25

css3背景透明文字不透明

在 FF/Chrome 等较新的浏览器中可以使用css属性background-color的rgba轻松实现背景透明,而文字保持不透明.而IE6/7/8浏览器不支持rgba,只有使用IE的专属滤镜filter:Alpha来实现,但是这样写法会把文字也变为透明,因此只有在透明容器的子节点(文本节点除外)内设置position:relative才能不继承其父元素的透明滤镜,代码如下: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transition

css 实现背景透明文字不透明

实现思路: 给button 元素设置了透明,将button里面的文字放到span标签,设置一个颜色,文字就不会透明 <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>css3的rgba</title> <style> *{ padding: 0; margin: 0; } .btn{ width :120px; height: 40p

CSS实现Div透明,而显示在上面的文字不透明,但也可看到显示在下面的图片内容

CSS实现Div透明,而显示在上面的文字不透明,但也可看到显示在下面的图片内容,DiV透明其实挺简单,主要是为background定义opacity属性,一般这个是最大值是1,数值越接近1,则越不透明,也就是越小越透明,颜色可以自定义.这样可以让图片上的文字更清淅,在一些图片特效中我们会见到这种效果. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/