gpt4 book ai didi

css - 使用 float :left 时背景颜色出现问题

转载 作者:太空宇宙 更新时间:2023-11-03 21:50:16 25 4
gpt4 key购买 nike

CSS:

ul#navlist {
list-style-type: none;
padding: 0;
margin: 0;
float: left;
width: 100%;
color: #fff;
background-color: #036;
}

ul#navlist li {
display: inline;
}

ul#navlist li a {
float: left;
width: 5em;
color: #fff;
background-color: #036;
padding: .2em 1em;
text-decoration: none;
border-right: 1px solid #fff;
}

ul#navlist li a:hover {
background-color: #369;
color: #fff;
}

HTML:

<ul id="navlist">
<li><a href="#">Item one</a></li>
<li><a href="#">Item two</a></li>
<li><a href="#">Item three</a></li>
</ul>

问题:

如果我删除此行:ul#navlist 中的 float:leftbackground-color: #036; 将不会显示,为什么?

最佳答案

float 元素会将其从正常文档流中移除。这就是为什么您必须在父元素上建立 block 内容或明确清除 float :

/* All of the following will work: */

ul#navlist {
float: left;
/* problem: the element itself is removed from the document flow */
}

ul#navlist {
overflow: hidden;
/* problem: dropdown lists will get truncated */
}

ul:after {
content: "";
display: block;
clear: both;
/* problem: compatibility with older browsers */
}

可能的其他解决方案是不 float li/a 而是使用 display:inline-block ,这会带来一个新问题元素之间的空白显示为“魔术边距”。

所有这些方法都有一定的限制,您应该选择最适合您的一种。

关于css - 使用 float :left 时背景颜色出现问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17804649/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com