小编典典

为什么在Webkit过滤器悬停时堆叠顺序会发生变化?

css

应用Webkit过滤器时,我发现堆叠顺序出现了一个奇怪的问题。为什么当我将鼠标悬停在图像上时,堆叠顺序会改变吗?

我宁愿不必使用z-indexing来解决此问题,因为它会破坏其他站点元素。

请原谅荷马,我只需要一张图片。

编辑:如何才能反转效果以阻止隐藏绝对位置div?

这是我的HTML

<ul>
<li>
    <a href="#">
        <div class="slide-content">
            <div class="slide-title">
                <h1>hello world</h1>
            </div>
            <div class="slide-desc">
                <p>a description about something</p>
            </div>
        </div>
        <img src="http://img4.wikia.nocookie.net/__cb20130920142351/simpsons/images/e/e9/Pic_1187696292_8.jpg"/>

    </a>
</li>
</ul>

CSS

li {
list-style:none;    
}

.slide-content {
position:absolute;
color:red;
top:50px;
}

li a:hover img{
-webkit-filter: grayscale(100%); /* For Webkit browsers */
}

阅读 244

收藏
2020-05-16

共1个答案

小编典典

这是因为除了none建立堆栈上下文以外的其他值。
规范中 对此进行了记录(当前处于工作草案状态):

2模块交互

该规范定义了一组CSS属性,这些属性会影响应用了这些属性的元素的视觉呈现。在根据[CSS21]的Visual格式化模型调整元素的大小和位置之后,将应用这些效果。这些属性的某些值会
导致包含块的创建和/或堆栈上下文的创建

规范还指出:

5图形过滤器:filter属性

计算出的以外的值将none 导致创建堆叠上下文 [CSS21],其方式与CSS不透明度相同。

2020-05-16