html - 父 div 顶部的幻影边距/填充

标签 html css layout

这是问题的链接:link

有问题的 div 是绿色部分中的灰色部分。您会注意到它们的宽度适合父级(绿色)。但是,子 div 上的 float: left 属性什么都不做。只有在父级上添加 float: left 时,它才会起作用。

这样做时,它会在父 div 与 nav 元素的顶部添加一些虚拟间距。

.options {
  margin: 0;
  padding: 0;
  display: block;
  width: 100%;
  height: 55px;
  background-color: green;
  /* float property */
  float: left; /* this will put child divs side by side but add space on top */
}

最佳答案

这是因为您没有清除包含 float 元素的容器元素。一个快速的解决方案是在您的 2 个容器(.navbar-3.options)上添加 overflow: hidden;

这样做的唯一问题是,容器元素之外的所有内容都不再可见。

另一种解决方案是通过添加以下样式来实现 .clearfix hack:

.clearfix:after {
    visibility: hidden;
    display: block;
    font-size: 0;
    content: " ";
    clear: both;
    height: 0;
    }
* html .clearfix             { zoom: 1; } /* IE6 */
*:first-child+html .clearfix { zoom: 1; } /* IE7 */

在您的容器元素上,您现在可以添加 clearfix 类。

关于html - 父 div 顶部的幻影边距/填充,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30056668/

相关文章:

javascript - JavaScript中的动态函数名称

javascript - 如何使用 CSS 设置表单样式

css - 覆盖折叠 Bootstrap 的动画

c++ - 再次关于在 QT 中将窗口大小调整为其子项的大小

qt - QWidget 的 minimumSize 与 minimumSizeHint

android - 为什么即使我更改了 XML 文本的大小,它们也没有改变?

html - 如何使用 CSS 将两个 block 居中,中间有一些间隙?

javascript - CSS animations - 当前用 CSS 表示的 "left"

javascript - 网站对齐问题

javascript - 如果 ComboBox 值那么单选按钮可见 JavaScript