html - 如何防止 float div 不扩展 sibling

标签 html css

Jsfiddle: http://jsfiddle.net/techsin/ur2w4p86/

<div class="cont">
    <div class="a"></div>
    <div class="b">
        asdfsdf
    </div>
</div>

如果我向 .b 添加左内边距,它的内容不会受到影响,直到内边距大于 .a 的宽度,而 .a 是 float 的。所以基本上 float 元素像兄弟 b 一样扩展它下面的 div。

我不想要那个。我希望第二个 div 与 a 相邻并占用其余空间。我不能使用内联 block ,因为那时我必须为第二个 div 定义确切的宽度,这也不是我想要的,并且没有 css 唯一的方法来告诉第二个 div 填充右边的可用空间。

最佳答案

出现此问题是因为 .b 向左浮动(将其从流中移出)并且 .a 宽度为 100%。如果你想保持这种布局,你需要在 .a 上使用 margin-right 而不是在 .b 上使用 padding-left

.a {
    background-color: green;
    width: 26%;
    float: left;
    margin-right: 10px;
}

关于html - 如何防止 float div 不扩展 sibling ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27234903/

相关文章:

html - Outlook 为小于 15 像素的图像添加边距顶部

c# - 如何使存储为 C# 字符串的 HTML 元素正确显示?

performance - CSS 类型位置和性能

html - 当两个表格单元格都有内部表格时如何确保 2 列对齐

php - 从 php 操作 HTML

html - SVG 在 Firefox 中的呈现方式有所不同

javascript - 如何通过单击label标签将光标移动到输入文本框中?

html - 网页抓取 : how extract the text (names) in the hyperlinks in a web page?

html - 使用 css-float 时元素的垂直对齐

css - 为什么我的 CSS 下拉菜单在 IE7 中的 DIV 后面打开?