如何在悬停时模糊背景图像而不是文本
How to blur background image on hover but not the text
你好,我刚刚开始网络开发,我一直试图在悬停时模糊 div 的背景图像,但不影响文本。
如您所见,我有一个名为 c1 的 ID,我使用 javascript 函数在悬停时显示文本,效果很好。
现在我想使用 css/javascript 模糊背景图像而不模糊文本。这可能吗?
我的CSS:
#c1 {
float: left;
width: 300px;
padding: 30px;
margin: 15px;
background-image: url(images/cd.png);
background-repeat: no-repeat;
background-position: center center;
background-size: cover;
border-radius: 20px;
height: 150px;
}
#c1:hover {
-webkit-filter: blur(5px);
}
我的HTML:
<div id="productos">
<a name="jproductos"></a>
<ul>
<div id="c1">
</div>
</ul>
</div>
您必须以不同的方式构建 html。如果您制作一个相对容器并将图像作为与文本分开的 div 放置:
<div class="container">
<div class="image"></div>
<div class="text">Text</div>
</div>
.container{
position: relative;
}
.image, .text{
position: absolute;
top: 0;
left: 0;
}
.image{
-webkit-filter: blur(5px);
}
这样文本和图像就不是 parent/child/same 元素,您可以只对图像进行模糊处理,但仍然让文本看起来就像在图像上一样
#c1 {
position:relative;
float: left;
width: 300px;
padding: 30px;
margin: 15px;
border-radius: 20px;
height: 150px;
overflow:hidden;
}
#c1:after{
content:'';
display:block;
position:absolute;
z-index:-1;
top:0;
left:0;
bottom:0;
right:0;
background: url(images/cd.png) no-repeat center;
background-size: cover;
}
#c1:hover:after{
-webkit-filter: blur(5px);
}
你好,我刚刚开始网络开发,我一直试图在悬停时模糊 div 的背景图像,但不影响文本。
如您所见,我有一个名为 c1 的 ID,我使用 javascript 函数在悬停时显示文本,效果很好。
现在我想使用 css/javascript 模糊背景图像而不模糊文本。这可能吗?
我的CSS:
#c1 {
float: left;
width: 300px;
padding: 30px;
margin: 15px;
background-image: url(images/cd.png);
background-repeat: no-repeat;
background-position: center center;
background-size: cover;
border-radius: 20px;
height: 150px;
}
#c1:hover {
-webkit-filter: blur(5px);
}
我的HTML:
<div id="productos">
<a name="jproductos"></a>
<ul>
<div id="c1">
</div>
</ul>
</div>
您必须以不同的方式构建 html。如果您制作一个相对容器并将图像作为与文本分开的 div 放置:
<div class="container">
<div class="image"></div>
<div class="text">Text</div>
</div>
.container{
position: relative;
}
.image, .text{
position: absolute;
top: 0;
left: 0;
}
.image{
-webkit-filter: blur(5px);
}
这样文本和图像就不是 parent/child/same 元素,您可以只对图像进行模糊处理,但仍然让文本看起来就像在图像上一样
#c1 {
position:relative;
float: left;
width: 300px;
padding: 30px;
margin: 15px;
border-radius: 20px;
height: 150px;
overflow:hidden;
}
#c1:after{
content:'';
display:block;
position:absolute;
z-index:-1;
top:0;
left:0;
bottom:0;
right:0;
background: url(images/cd.png) no-repeat center;
background-size: cover;
}
#c1:hover:after{
-webkit-filter: blur(5px);
}