html - ul 中的堆叠问题

标签 html css html-lists z-index css-position

我在 HTML 页面中的元素堆叠方面遇到问题。我需要让 span (class="class_span") 具有比 div (class="class_div"更高的堆叠顺序)带边框。我尝试过更改 z-index 但没有成功。我知道我不应该使用绝对位置,但页面依赖于它,抱歉。我怎样才能做到这一点?

HTML:

<ul>
    <li>
        <div class="class_div">
        </div>
        <span class="class_span">
            <a href="google.com">google</a>
        </span>
    </li>
</ul>​

CSS:

.class_div{
    position: absolute; 
    border: 100px solid; 
    width:100px;
    height:50px;
    left:0px;
}
.class_span{
    float: left;
}​

Live DEMO

最佳答案

position:relative 添加到范围,以便您可以在其上应用 z-index。请注意,跨度的 z-index 必须高于 div 的 z-index,以便它显示在 div 上方:

.class_div{
    position: absolute; 
    border: 100px solid; 
    width:100px;
    height:50px;
    left:0px;
    z-index: 1;
}
.class_span{
    float: left;
    position: relative;
    z-index: 10;
}​

<强> Example

编辑:

作为 float: left 的替代方案,您可以考虑使用 position:absolute 并将 left 设置为 0px >:

.class_span{
    position: absolute;
    left: 0;
    z-index: 10;
}​

您可能还需要设置 top,并且可能还需要将父元素的 position 设置为 relative,以便跨度可以相对于该父元素定位。

关于html - ul 中的堆叠问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11796536/

相关文章:

javascript - 通过文本字段过滤列表

html - 为什么不清除 :both eliminate this overlap?

css - 如何防止底部对齐的 DIV 元素上的文本重叠

css - 水平列表不内联/一行

javascript - 平滑滚动到 div

css - 如何在 Bootstrap 中很好地实现这种元素布局

html - 从 jQuery UI 获取高亮彩色图标作为元素符号?

javascript - 列表元素中的表格导致换行

php - 每 10 个 mysql 结果结束并开始新的 UL

html - 当div达到窗口宽度时如何添加css规则