4

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

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;
}
4

3 回答 3

3

您的问题是由计算此元素边距的方式引起的 - 它指的是其兄弟姐妹的位置,而不是父母的位置。

您可以为包含“TITLE”文本的其他 div 设置边距,并查看与 margin-top 相同的问题。

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

于 2013-01-11T13:37:20.870 回答
1

奇怪......不知道为什么,但如果你添加一个填充底部1pxdiv.left_navigation_outer修复它 - 这是我的小提琴叉

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 */
}
于 2013-01-11T13:18:35.583 回答
1

你可以通过给出div.left_navigation_outer一个来解决这个问题padding-bottom

于 2013-01-11T13:15:25.453 回答