gpt4 book ai didi

html - 如何摆脱 float 上方的上边距?

转载 作者:太空宇宙 更新时间:2023-11-04 14:00:08 25 4
gpt4 key购买 nike

我正在尝试修复现有 HTML/CSS 中的边距(使用 CSS 覆盖修复),但我无法理解我正在处理的案例(归结为以下代码)。

我想要的是:第一个“div.floating”上方没有填充(出于某种原因来自“p.par”的填充 - 为什么?)。让我感到困惑的是:如果我删除 div#extra(或者如果 '.floating-column' 不是 float 的),填充就会消失。为什么?是否存在超出我理解范围的折叠边距规则?

(另外,更改 HTML 不是一种选择。)

感谢帮助,曼努埃拉

ps:代码:

<!DOCTYPE html>
<html>
<head>
<style>
html, body, div, p {
border:0;
margin:0;
padding:0;
}

.container {
width:960px;
margin:0 auto;
background-color: #ddd;
}
.container:after {
content:"";
display:block;
height:0;
clear:both;
visibility:hidden;
}
.floating-column {
float:left;
border: 1px dashed green;
}

.floating {
width: 100%;
float: left;
border: 1px dotted black;
}

.par {
margin: 10px;
border: 1px solid red;
}
</style>
</head>
<body>
<div class="container">
<div class="floating-column">
<div id="extra">
<div class="floating">first float</div>
<div class="floating">another float</div>

<p class="par">Cras nibh erat, tempor non sagittis ac, vulputate ac lectus. Praesent sed fermentum eros. Mauris sodales suscipit diam, a congue dui commodo ac. Sed convallis rutrum ligula, vitae sollicitudin nisl porttitor nec. Mauris tempor fringilla imperdiet. Pellentesque interdum, tellus nec venenatis venenatis, nisi nulla ultricies leo, tincidunt venenatis risus nisl ac dolor. Donec ante leo, elementum et faucibus tincidunt, dignissim lacinia libero. Suspendisse pharetra in augue in sodales. Etiam luctus dui blandit nisi dictum pretium.</p>
</div>
</div>
</div>
</body>
</html>

最佳答案

clear:both css 属性添加到 p.par,例如:

.par {
margin: 10px;
border: 1px solid red;
clear: both;
display: inline-block;
}

它将清除div.floatingfloat,否则它将从容器的顶部获取它的边距。

在这里查看 DEMO .

关于html - 如何摆脱 float 上方的上边距?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21578267/

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