css - 神秘的填充物

标签 css layout html

这是我正在处理的布局的简化版。为了简洁起见,我将其缩减并使我遇到的问题更加明显。

我无法确定包装在“wrapper1”中的元素之间的填充来自何处。理想情况下,我不应该从 wrapper1 的背景中看到任何红色,并且里面的所有东西都应该相互紧贴。

有什么想法吗?

CSS

.wrapper1 {
    float:left;
}

.wrapper2 {
    background-color:#F00;
}

.box-outer {
    display:inline-block;
    background-color:#09F;
    width:50px;
    height:108px;
}

.wrapper3 {
    display:inline-block;
    background-color:#390;
    border:2px solid #000;
}

.box-inner {
    background-color:#999;
    position:relative;
    border:2px solid #FF0;
    width:300px;
    height:100px;
}

HTML

<div class="wrapper1">
    <div class="wrapper2">
        <div class="box-outer"></div>
        <div class="wrapper3">
            <div class="box-inner">
            </div>
        </div>
    </div>  
        <div class="wrapper2">
        <div class="box-outer"></div>
        <div class="wrapper3">
            <div class="box-inner">
            </div>
        </div>
    </div>
        <div class="wrapper2">
        <div class="box-outer"></div>
        <div class="wrapper3">
            <div class="box-inner">
            </div>
        </div>
    </div>
</div>

最佳答案

您将内部 div 变成了内联元素,这意味着它们将使用它们之间的空白区域。

写成...</div><div ...差距将会消失。

编辑:哦,那只是处理的水平空间。垂直空间是由位于基线的内部 div 和在基线下方留出空间的外部 div 引起的。 vertical-align应该解决这个问题。

关于css - 神秘的填充物,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8757185/

相关文章:

android - 显示键盘时屏幕布局向上移动

android - 当 Android 自动退出沉浸式粘性时,它不会调整 View 大小,因此它们会被阻止

html - 在一组列表项之间显示一个 div 元素而不改变 HTML(以保持语义)

javascript - 如果内联按钮不在屏幕上,jQuery 会在底部放置社交共享按钮

html - 如何将文本环绕在右下角的 div 周围?

javascript - 如何将导航添加到模态

java - 动态创建 FormLayout 行和列(在运行时)

javascript - 当 css 设置为显示 :none 时,slideDown() 不起作用

html - 将最后一个 td 作为行

html - Margin-top 没有被应用(不工作)