当元素具有类时,我有一系列以灰度显示的图像,disabled
但是此过滤器也被应用于子元素,因此整个块显示为灰色。
.item {
background-size: cover;
width: 400px;
height: 200px;
text-align: center;
padding-top: 20px;
}
.item.disabled {
filter: grayscale(100%);
-webkit-filter: grayscale(100%);
}
.item .status {
background-color: green;
bottom: 30px;
border-radius: 6px;
padding: 2px 5px;
color: white;
font-weight: bold;
}
.item.disabled .status {
background-color: red;
}
<div class="item" style="background-image: url(http://lorempixel.com/400/200/sports)">
<span class="status">ready</span>
</div>
<div class="item disabled" style="background-image: url(http://lorempixel.com/400/200/sports)">
<span class="status">not ready</span>
</div>
如何使“未准备好”的文字显示为红色而不是灰色?
据我了解,css filter属性是不可继承的,它的初始值是none
这样的,它应该只应用于它所在的元素。
很久以前我就发生过这种情况,但是使用过滤器:模糊,解决方案是使用框的位置。