1.这个就是正常思路实现背景模糊会出现的问题。
2.解决方案:使用伪元素继承父元素的背景,然后给伪元素添加高斯模糊,因为伪元素不会被父元素的子元素继承,所以问题就解决了。
代码:
- <style>
- * {
- margin: 0;
- padding: 0;
- }
- .container {
- position: relative;
- width: 100vw;
- height: 100vh;
- background: url("image/bag.png") center / 100% 100% no-repeat;
- }
- .container::before {
- content: '''';
- width: 100%;
- height: 100%;
- position: absolute;
- left: 0;
- top: 0;
- background: inherit;
- filter: blur(15px);
- }
- .content {
- position: absolute;
- left: 50%;
- top: 50%;
- transform: translate(-50%, -50%);
- width: 100px;
- height: 100px;
- line-height: 100px;
- text-align: center;
- background: white;
- }
- </style>
html
- <body>
- <div class="container">
- <div class="content">
- 背景模糊
- </div>
- </div>
- </body>