html - 使子元素不影响宽度,但影响父元素的高度?

标签 html css

如果你有一个像这样的简单的 2 层列表:

<ul>

    <li><a href='#'>Item 1</a></li>
    <li><a href='#'>Item 2</a></li>
    <li>
        <ul>
            <li><a href='#'>Sub-Item 1</a></li>
            <li><a href='#'>Sub-Item 2</a></li>
            <li><a href='#'>Sub-Item 3</a></li>
        </ul>
    </li>
    <li><a href='#'>Item 4</a></li>

</ul>

我目前有每个第一级 li 向左浮动并且没有定义宽度(我想保持这种状态)。但是,如果第 2 级 li 中的文本比第 1 级 li 中的文本长,则第 1 级将扩展到第 2 级。

我怎样才能停止这种扩张? 请记住,第二级元素是 block 状的并且不是绝对定位。

最佳答案

通过绝对定位您的二级列表,您将把它从文档的自然流中移除。

这将阻止第一层 li 扩展以容纳第二层 ul 的大小

ul li {
  position:relative;
}
ul li ul{
  position:absolute;
}

Working example

关于html - 使子元素不影响宽度,但影响父元素的高度?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7419850/

相关文章:

javascript - 跨浏览器转换和转换问题

javascript - 添加淡入淡出到昏暗的光线 - javascript/css

javascript - REST 客户端实用程序

javascript - 如何停止页面底部的动画滚动条?

HTML/CSS 背景问题

javascript - Jquery 选择元素

html - 如何编辑 div :hover property?

jquery - 为什么这个 jquery 不能正常工作?

html - 如何在向前移动时倒置元素?

html - 宽度小于 500 像素的汉堡包图标不显示?