web-dev-qa-db-fra.com

Puis-je centrer une frontière avec CSS?

J'essaie de centrer la ligne pointillée horizontalement avec CSS. Pour le moment, il apparaît en bas. Y at-il un moyen que je puisse compenser avec -5px ou quelque chose?

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;
    }
10
Rob

non. Mais vous pouvez créer un autre élément qui a la border et le déplacer dans le .divider

html

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

css

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

Démo: http://jsfiddle.net/5xMG7/

12
Sotiris

Vous pouvez également utiliser les pseudo-sélecteurs :before ou :after pour supprimer l'élément interne.

<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/

4
gyo

Si vous voulez dire centrer verticalement, vous pouvez le faire comme ceci:

<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;
}
1
David Aleu