Une bordure sera toujours sur toute la longueur de la boîte contenant (la hauteur de l'élément plus son rembourrage), elle ne peut pas être contrôlée, sauf pour ajuster la hauteur de l'élément auquel elle s'applique. Si tout ce que vous avez besoin est un diviseur vertical, vous pourrait utiliser:
<div id="left">
content
</div>
<span class="divider"></span>
<div id="right">
content
</div>
Avec css:
span {
display: inline-block;
width: 0;
height: 1em;
border-left: 1px solid #ccc;
border-right: 1px solid #ccc;
}
Demo at JS Fiddle, régler la hauteur du span.container
pour régler la frontière 'hauteur'.
Ou, pour utiliser des pseudo-éléments (::before
ou ::after
), avec le code HTML suivant:
<div id="left">content</div>
<div id="right">content</div>
Le CSS suivant ajoute un pseudo-élément avant tout élément div
qui est le frère adjacent d'un autre élément div
:
div {
display: inline-block;
position: relative;
}
div + div {
padding-left: 0.3em;
}
div + div::before {
content: '';
border-left: 2px solid #000;
position: absolute;
height: 50%;
left: 0;
top: 25%;
}
JS Fiddle demo.
le violon est allé AWOL – Neil
mieux utiliser: après –
@scott: true, la seule raison pour laquelle ils ne sont pas utilisés à l'origine parce que je ne pense pas que je connaissais des pseudo-éléments ':: before', ou' :: after' à l'époque. Je vais essayer de réviser pour inclure cette idée une fois que je serai de retour sur un ordinateur plutôt que sur un appareil mobile. –