使用Css创建一个水平规则并具有边距

jon*_*odo 9 html css

div.horizontalRule {
    clear:both;
    width:100%;
    background-color:#d1d1d1;
    height:1px;
    margin-top:5px;
    margin-bottom:5px;
}
Run Code Online (Sandbox Code Playgroud)

这就是我现在正在做的事,但边缘似乎没有效果!我不确定为什么,但是这个"横向规则"上方和下方的文字触及没有边距的水平规则.有没有办法在这种情况下实现利润?

http://jsfiddle.net/fwqSH/

Nay*_*ish 9

问题是你没有关闭div:

您无法关闭div,因为必须有一个结束标记,因此:

<div></div>
Run Code Online (Sandbox Code Playgroud)

并不是

<div />
Run Code Online (Sandbox Code Playgroud)

纠正了jsfiddle:

http://jsfiddle.net/fwqSH/1/

编辑

最终解决方案是添加1px的最小高度,因为空div有时会做出奇怪的事情.

最终的CSS:

div.horizontalRule {
    min-height: 1px;
    clear:both; width:100%;
    border-bottom:1px solid #d1d1d1;
    height:1px; padding-top:5px;
    margin-top:5px;
    margin-bottom:5px;
}
Run Code Online (Sandbox Code Playgroud)