需求:一个div设置了background: url,现在需要使图片背景模糊,div内的文字清晰显示。
原始代码:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27
| <!DOCTYPE html>
<html lang="en"> <head> <meta charset="utf-8"> <style type="text/css"> .content { color: #ffffff; font-size: 40px; } .bg { background: url('1.jpg'); background-repeat: no-repeat; background-position: center; background-size: cover; height:600px; text-align: center; line-height: 600px; } </style> </head> <body> <div class="bg"> <div class="content">我是内容</div> </div> </body> </html>
|
原始效果:
解决方法:
内容和图片分别置于一个div,通过css设置背景div模糊度,设置背景div或者内容div为绝对位置,使两个div重合。实质上是在底层加了一个div,给这个div设置模糊了。
html代码:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47
| <!DOCTYPE html>
<html lang="en"> <head> <meta charset="utf-8"> <style type="text/css"> .content { color: #ffffff; font-size: 40px; } .bg { background: url('1.jpg'); height:600px; text-align: center; line-height: 600px; } .bg-blur { float: left; width: 100%; background-repeat: no-repeat; background-position: center; background-size: cover; -webkit-filter: blur(15px); -moz-filter: blur(15px); -o-filter: blur(15px); -ms-filter: blur(15px); filter: blur(15px); } .content-front { position:absolute; left: 10px; right: 10px; height:600px; line-height: 600px; text-align: center; }
</style> </head> <body> <div> <div class="bg bg-blur"></div> <div class="content content-front">我是内容</div> </div> </div> </body> </html>
|
效果: