gpt4 book ai didi

css-float - 为什么 css float 与
  • 的行为不同?

转载 作者:太空宇宙 更新时间:2023-11-03 20:52:17 24 4
gpt4 key购买 nike

取自w3schools (访问链接以查看其外观):

<!DOCTYPE html>
<html>
<head>
<style>
ul
{
float:left;
width:100%;
padding:0;
margin:0;
list-style-type:none;
}
a
{
float:left;
width:6em;
text-decoration:none;
color:white;
background-color:purple;
padding:0.2em 0.6em;
border-right:1px solid white;
}
a:hover {background-color:#ff3300;}
li {display:inline;}
</style>
</head>

<body>
<ul>
<li><a href="#">Link one</a></li>
<li><a href="#">Link two</a></li>
<li><a href="#">Link three</a></li>
<li><a href="#">Link four</a></li>
</ul>

<p>
In the example above, we let the ul element and the a element float to the left.
The li elements will be displayed as inline elements (no line break before or after the element). This forces the list to be on one line.
The ul element has a width of 100% and each hyperlink in the list has a width of 6em (6 times the size of the current font).
We add some colors and borders to make it more fancy.
</p>

</body>
</html>

因此,ulafloat:left;。现在,float 表示下一个元素应该围绕它 float ,但文本不会。我错过了什么?

第二:从 ul 中移除 float 使文本围绕它流动。这到底是怎么回事?

第三:从 li 中删除 inline 什么都不做。然而,从 a 中移除 float 会在元素之间放置空格

任何人 甚至可以尝试解释为什么会发生这些事情而不做他们应该做的事吗?

(最新的 Chromium)

最佳答案

<ul> 的宽度是100% .文本无处可去,只能在它下面。

删除 float:left 的原因来自 <ul>将使文本出现在右边的是 <ul>不会再占用视觉空间,因为内容都漂浮在非 float 容器内。它将是 0px 高,<p>由于 100% 的宽度,它仍然会下降到它下面,但你不会在视觉上注意到它。您可以通过提供 <ul> 来测试它边界,看看会发生什么。 <p>将漂浮在最后漂浮的 <li> 旁边.

<li> s 不是内联项。 display:inline;display:block都是不正确的。他们是 display:list-item;

关于css-float - 为什么 css float 与 <ul> 和 <li> 的行为不同?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14691315/

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