考虑以下HTML和CSS:
<div class="page">
<div class="region">
<div class="zone">
Left
</div>
<div class="zone">
Center
</div>
<div class="zone">
Right
</div>
</div>
<div class="region">
<div class="zone">
Left
</div>
<div class="zone">
Right
<div id="overlay"></div> <!--- Overlay -->
</div>
</div>
<div class="region">
<div class="zone">
Left
</div>
<div class="zone">
Center
</div>
<div class="zone">
Right
</div>
</div>
</div>
个字符
下面是一个工作示例:https://codepen.io/a11smiles/pen/rNQoaPv
问题是覆盖层覆盖了top
和middle
flex-box及其内容。然而,虽然覆盖是屏幕的全宽和全高,但footer
弹性框及其内容始终在顶部(覆盖在页脚后面)。我所做的一切都改变不了这一点。如您所见,我尝试将footer
的z索引显式设置为0,但这也不起作用。
有什么想法吗
谢谢你,谢谢
3条答案
按热度按时间vkc1a9a21#
要使覆盖覆盖整个视口,请执行以下操作
这是第一个解决方案:
个字符
km0tfn4u2#
字符串
/* CSS的其余部分保持不变 */
覆盖层未覆盖页脚flex-box及其内容的问题是由于CSS中使用的z-index属性和position属性创建的堆栈上下文造成的。
您可以通过添加位置来完成此操作:相对; z指数:1;到.page类。这将为整个页面创建一个新的堆栈上下文,并使用z-index覆盖:1000将出现在这个新的堆叠上下文中的所有元素的顶部,包括页脚弹性框。
3z6pesqy3#
将您的“.region”样式更新为此样式(以及“&:last-of-type”)
字符串