Un borde siempre estará a la longitud completa de la caja contenedora (la altura del elemento más su relleno), no se puede controlar excepto para ajustar la altura del elemento al que se aplica. Si todo lo que necesita es un divisor vertical, que podría uso:
<div id="left">
content
</div>
<span class="divider"></span>
<div id="right">
content
</div>
con CSS:
span {
display: inline-block;
width: 0;
height: 1em;
border-left: 1px solid #ccc;
border-right: 1px solid #ccc;
}
Demo at JS Fiddle, ajuste la altura de la span.container
para ajustar la 'altura' frontera.
o, para usar pseudo-elementos (::before
o ::after
), dada la siguiente HTML:
<div id="left">content</div>
<div id="right">content</div>
La siguiente CSS añade un pseudo-elemento antes de cualquier elemento div
que es el hermano adyacente de otro elemento 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.
el violín ha ido sin permiso – Neil
mejor utilizar: después –
@ Scott: verdadera, la única razón por la que no se utilizaron originalmente se debe a que no creo que era consciente de los pseudo-elementos ':: before', o' :: after' en ese momento. Trataré de revisar para incluir esa idea una vez que regrese a una computadora, en lugar de a un dispositivo móvil. –