gpt4 book ai didi

css - 为什么
不换行?

转载 作者:搜寻专家 更新时间:2023-10-31 21:55:36 25 4
gpt4 key购买 nike

在代码片段中,两个 div 应该出现在彼此下方,就像通过换行符分开一样。相反,这两个 div 有点相邻,尽管第二个比第一个低一点。这是为什么?如何让


换行?

<!DOCTYPE html>
<head><title>DoodleDebug</title>
<style>hr{padding:2pt;border:0;}span{float:left;width:40px;}.ColorPlugin{}</style>
</head>
<body>
<div><span style="background-color:#1a63cb">&#160;&#160;&#160;</span>
</div>
<hr>
<div><span style="background-color:#1a63cb">&#160;&#160;&#160;</span>
</div>

我使用的是最新的 Firefox。

最佳答案

问题出在 floating span 上。它们被带出正常流(某种程度上),因此 div 最终高度为 0。嗯,第二个是,第一个仍然是几像素高,因为 hr。无论如何,两个 div 一起比溢出它们的 span 小得多。因此,第二个 span 比您预期的要高得多。由于 float 不相互重叠,第二个 span 被放置在右侧一点以适应它(同时仍保留原始垂直位置)。

然后,解决方案取决于您想要实现的目标。我知道这是一个简单的例子,所以我看不到更大的图景。我的第一个尝试是完全摆脱 float。无论如何,大多数时候它们制造的麻烦多于解决方案。这里的选项是使用 display: inline-block 或只是以某种方式重新排列您的 HTML。

第二次尝试是使用clear,即suggested below布拉德·克里斯蒂 (Brad Christie) 着。

关于css - 为什么 <hr> 不换行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8943580/

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