css实现的背景透明文字不透明实例代码
分类:实例代码
现在透明效果可以说是大行其道,比如鼠标放在图片上的时候会弹出一个半透明的遮罩,上面带有些许说明文字,但是有时候可能会发现上面的说明文字也会出现透明下现象,先看一段代码实例。
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <meta name="author" content="http://www.pipipi.net/" /> <title>前端教程网</title> <style type="text/css"> #box { width:100px; height:100px; margin:0px auto; color:red; background-color:green; text-align:center; line-height:100px; filter:alpha(opacity=20); opacity:0.2; } </style> </head> <body> <div id="box">前端教程网</div> </body> </html>
在以上代码中,不但div元素具有般透明性,而且文字也出现了透明效果,这是因为设置透明的属性具有继承性,所以文字也会被设置为半透明,这往往不是我们想要的结果,代码修改如下:
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <meta name="author" content="http://www.pipipi.net/" /> <title>前端教程网</title> <style type="text/css"> #main { width:100px; height:100px; margin:0px auto; position:relative; } #box { width:100px; height:100px; background-color:green; position:absolute; left:0px; top:0px; filter:alpha(opacity=20); opacity:0.2; } #txt { width:100px; height:100px; position:absolute; left:0px; top:0px; text-align:center; line-height:100px; color:red; } </style> </head> <body> <div id="main"> <div id="box"></div> <div id="txt">前端教程网</div> </div> </body> </html>
以上代码实现了我们的要求,文字不具有透明效果,而div却有透明效果,下面介绍一下它的实现原理。
实现原理:
由于设置透明度相关的属性具有继承性,所以如果设置div透明度以后,它内部的文字也会具有透明度,所以这个时候就需要另辟蹊径,将文字放入另一个单独的div,然后通过定位的方式覆盖于设置透明度的div之上,这样就实现了我们的效果。
一线大厂高级前端编写,前端初中阶面试题,帮助初学者应聘,需要联系微信:javadudu