在使用CSS过滤背景图像(悬停)时保持文本颜色,可以通过以下步骤实现:
filter
属性来对背景图像进行滤镜效果,例如模糊、灰度等。例如,可以使用filter: grayscale(100%);
来将背景图像转为灰度。mix-blend-mode
属性。该属性可以控制元素的混合模式,使其与背景图像进行混合。例如,可以使用mix-blend-mode: difference;
来保持文本颜色不受滤镜效果影响。下面是一个示例代码:
<style>
.container {
position: relative;
width: 300px;
height: 200px;
overflow: hidden;
}
.background-image {
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
background-image: url('background.jpg');
background-size: cover;
filter: grayscale(100%);
}
.text {
position: absolute;
top: 50%;
left: 50%;
transform: translate(-50%, -50%);
color: white;
mix-blend-mode: difference;
}
</style>
<div class="container">
<div class="background-image"></div>
<div class="text">
<h1>这是一段文本</h1>
<p>这是一段描述</p>
</div>
</div>
在上述示例中,.container
是一个容器元素,.background-image
是背景图像元素,.text
是文本元素。通过设置.background-image
的filter
属性为grayscale(100%)
,将背景图像转为灰度。同时,通过设置.text
的mix-blend-mode
属性为difference
,保持文本颜色不受滤镜效果影响。
这样,当鼠标悬停在容器上时,背景图像会应用滤镜效果,但文本颜色仍然保持不变。
腾讯云相关产品和产品介绍链接地址:
领取专属 10元无门槛券
手把手带您无忧上云