HTML中如何设置透明度及Opacity属性使用方法解析大全
在 HTML 中设置透明度有多种方式,以下为你详细介绍:
使用 CSS3 的 opacity 属性
CSS3 的 opacity 属性可以控制网页元素的透明效果,即调整不透明度。其基本语法为:opacity: 不透明度;。“不透明度”以数字表示,范围从 0.0 至 1.0,0.0 表示完全透明,1.0 表示完全不透明,数字越大元素越不透明。参数除数字外,还有 inherit(继承父层属性),不过浏览器支持度较差,不建议使用。
该属性可应用于网页图片、DIV 区块、span 区域、Table 表格等元素,所有新版主流浏览器都支持该属性效果。但需要注意,IE8 及更早版本的 IE 浏览器必须使用替代语法,即利用 filter 属性,写法如「filter:Alpha(opacity=50);」,效果等于「opacity:0.5」。
示例代码如下:
<!DOCTYPE html> <html> <head> <style> .div1 { opacity: 0.1; background-color: red; } .div2 { opacity: 0.5; background-color: green; } .div3 { opacity: 0.8; background-color: blue; } </style> </head> <body> <div class="div1">第一个区块,几乎快看不到颜色与文字</div> <div class="div2">第二个区块,比第一个清楚</div> <div class="div3">第三个区块,文字与背景颜色更明显</div> </body> </html>
从上述示例可以看到,一个 DIV 区块内的文字内容与背景颜色都会受到 opacity 属性的不透明度影响。同时,CSS3 的 opacity 透明度属性具有继承性,当对某个对象设置了该属性时,其子集元素也会有透明度效果。
HTML5 的透明设置(rgba 写法)
在 HTML5 中支持透明背景颜色,但只支持 rgba 的写法,不支持 16 进制写法。例如:background - color:rgba(0,152,50,0.7); 表示 70% 的不透明度;background - color:transparent; 支持完全透明。
在 firefox、webkit、khtml 阵营以及 IE9 + 及大于 IE9 的浏览器中可以使用上述 HTML5 设置透明,但此方法在 IE9 以下的浏览器中完全无效。
使用半透明粒子图片
可以使用半透明粒子图片、图案或者渐变半透明 PNG 图片来设置透明度。这种方法兼容性较好,除了 IE6 需要使用插件来修改 PNG 不透明的 bug 外,支持性都不错。设置可以重复,还可以定位,在 H5 中也可以设置大小。不过在网页中追求极致的话,加载图片越少越好。粒子是指透明度匀称的图片裁剪至 5px 5px 以下,这样加载速度会快很多。示例代码:background:url(path/my_png_bg.png) no - repeat center center scroll;
结合透明度和背景颜色或图片
可以同时使用透明度和背景颜色或者背景图片来实现效果。例如:
background - color:rgb(0,152,50); opacity:0.7; background:url(path/my_bg.jpg) no - repeat center center scroll; opacity:0.7;
但要注意,IE6 - IE8 完全不支持 opacity,需要使用 IE 的滤镜,例如使用 alpha 通道来设置不透明度:filter:(opacity = 70) 。
设置字体透明度
在 HTML 中设置字体透明度有两种方法:
利用 color 属性和 rgba() 函数
语法为“字体元素{color: rgba(红色值, 绿色值, 蓝色值, 透明度值);}”。示例代码:
<!DOCTYPE html> <html> <head> <meta charset="UTF - 8"> <style> .p1{color: rgba(0,0, 0, 1);} .p2{color: rgba(0, 0, 0, 0.6);} .p3{color: rgba(0, 0, 0, 0.4);} .p4{color: rgba(0, 0, 0, 0.2);} </style> </head> <body bgcolor="AFEEEE"> <p class="p1">测试文本</p> <p class="p2">测试文本</p> <p class="p3">测试文本</p> <p class="p4">测试文本</p> </body> </html>
利用 opacity 属性
语法为“字体元素{opacity:透明度值;}”。示例代码:
<!DOCTYPE html> <html> <head> <meta charset="UTF - 8"> <style> .p1{opacity:1;} .p2{opacity: 0.6;} .p3{opacity:0.4;} .p4{opacity:0.2;} </style> </head> <body bgcolor="00aa7f"> <p class="p1">测试文本</p> <p class="p2">测试文本</p> <p class="p3">测试文本</p> <p class="p4">测试文本</p> </body> </html>