我可以用CSS居中边框吗?

时间:2011-07-26 14:18:06

标签: css border

我试图用CSS水平居中虚线。目前,它出现在底部。有没有办法可以用-5px或其他东西来抵消它?

HTML

<div class="divider"></div>

CSS

.divider {
    background: aqua url("styles/images/divider-stars.png") no-repeat center 0;
    height:30px;
    padding-bottom: 10px;
    width: 100%;
    margin: 20px auto;
    float: left;
    border-bottom: 2px dotted #b38b0d;
    }

3 个答案:

答案 0 :(得分:12)

没有。但是您可以创建另一个具有border的元素,并将其移动到.divider

<强> HTML

<div class="divider">
    <div class="inner"></div>
</div>

<强> CSS

.inner {
 margin-top:19px;
 border-bottom: 2px dotted #b38b0d;   
}

演示: http://jsfiddle.net/5xMG7/

答案 1 :(得分:4)

您还可以使用:before:after伪选择器来摆脱内部元素。

<div class="divider"></div>
.divider {
    background: aqua url("styles/images/divider-stars.png") no-repeat center 0;
    height: 30px;
    padding-bottom: 10px;
    width: 100%;
    margin: 20px auto;
    float: left;
}

.divider:after {
    content: '';
    display: block;
    margin-top: 19px;
    border-bottom: 2px dotted #b38b0d;
}

http://jsfiddle.net/5xMG7/540/

答案 2 :(得分:1)

如果你的意思是垂直居中,你可以这样做的一种方式是:

<div class="divider"><span class="line"></span></div>

.divider {
    background: aqua url("styles/images/divider-stars.png") no-repeat center 0;
    height:30px;
    padding-bottom: 10px;
    width: 100%;
    margin: 20px auto;
    float: left;
    }
.line
{
   border-bottom: 2px dotted #b38b0d;
   margin-top:15px;
    display:block;
}