div块的下边距未生效

时间:2013-01-11 13:10:03

标签: html css

我有几个嵌套div块,我的问题是最后一个left_navigation_container在底部边缘没有7px间距,我不知道为什么({{3} })。

HTML:

<div class="left_navigation_outer">
    <div class="left_navigation_header_outer">
        <div class="left_navigation_header_logo">
            <strong>Title</strong>
        </div>
    </div>
    <div class="left_navigation_container">
    </div>
</div>

CSS:

div.left_navigation_outer {
    background: green;
    background-repeat: repeat;
    margin:10px;
    -moz-box-shadow:  0px 0px 5px #ababab;
    -webkit-box-shadow:  0px 0px 5px #ababab;
    box-shadow:  0px 0px 5px #ababab;
}


div.left_navigation_header_outer {
    background: blue;
    background-repeat: repeat;
    height: 50px;
    border-top: 4px solid black;    
}

div.left_navigation_header_logo {
    line-height:50px;
    color: #efefef;
    text-shadow: 0 -1px #000;
    text-align: center;
    text-transform: uppercase;
}

div.left_navigation_container {
    background: red;
    background-repeat: repeat;
    height: 50px;
    margin: 7px;
}

3 个答案:

答案 0 :(得分:3)

你的问题是由计算这个元素的边际的方式引起的 - 它指的是它的兄弟姐妹,而不是父母的位置。

您可以为包含“TITLE”文本的其他div设置保证金,并在margin-top中查看相同的问题。

编辑:您可以在<div style="width: 100%; height: 1px;"></div>之后添加<div class="left_navigation_container"></div>以触发下边距并使其可见。

答案 1 :(得分:1)

您可以通过div.left_navigation_outer padding-bottom

来解决这个问题

答案 2 :(得分:1)

很奇怪......不确定为什么但是如果你向1px添加填充底部div.left_navigation_outer它会修复它 - 这是我的fork of your fiddle

div.left_navigation_outer {
    background: green;
    background-repeat: repeat;
    margin:10px;
    -moz-box-shadow:  0px 0px 5px #ababab;
    -webkit-box-shadow:  0px 0px 5px #ababab;
    box-shadow:  0px 0px 5px #ababab;
    padding-bottom:1px; /* tricky hack to get the bottom spacing */
}