div之间的间距

时间:2011-11-09 09:41:06

标签: html spacing

这就是我的问题:

div spacings

如您所见,有3个图像(div),我不想删除每个div之间的黑色间距。

最重要的是,当我在我的CSS中放置以下内容时:

* {
padding: 0;
margin: 0;
}

然后它看起来很好:

Working example

问题在于我无法将padding: 0margin: 0用于我的整个HTML,因为其他属性将会被破坏...

我尝试在每个div(图片)上添加:padding:0margin:0,但它不起作用。

HTML来源:

<div id="sidebar-left" class="sidebar" role="complementary">
       <div class="sb-ui sb-title"><h3>Account</h3></div>
       <div class="sb-con">
            <ul>
        <li><a href="index.php?subtopic=accountmanagement">My Account</a></li>
                <li><a href="index.php?subtopic=accountmanagement&action=logout">Logout</a></li>
            </ul>
       </div>
       <div class="sb-ui sb-end"></div>
</div>

我的CSS:

#sidebar-left {
margin-right: 9px;
}

.sidebar {
width: 170px;
position: relative;
bottom: 7px;
}

.sidebar, #content {
float: left;
}

.sb-title {
height: 60px;
text-align: center;
}

.sb-ui {
background: url("../images/ui/sidebar_ui.png");
}

.sb-con {
background: url("../images/ui/sidebar_bgrepeat.jpg") repeat-y;
}

.sb-end {
height: 23px;
background-position: bottom center;
margin-bottom: 10px;
}

.sb-ui {
background: url("../images/ui/sidebar_ui.png");
}

所有帮助尝试都将受到赞赏。

2 个答案:

答案 0 :(得分:7)

ul的余量很可能是造成这种情况的。

.sb-con ul { padding:0; margin:0; }

可能会产生预期的效果。 li也可能影响布局;但我们无法从您提供的代码中判断出来。

你的“全部”重置会删除默认的边距/填充;因此它看起来还不错。

编辑 - 您的.sb-title h3可能还需要删除底部边距,因为它看起来像是使用固定高度(60px),但默认边距会增加额外的高度。

可以使用firebug或Chrome的网络检查器轻松调试,并可以直观地显示间距来自哪里。

答案 1 :(得分:1)

这是因为UL默认保证金。 你需要风格:

UL { margin: 0 }