La Propiedad BORDER-BLOCK-START-STYLE

La propiedad border-block-start-style en CSS se utiliza para establecer el estilo del borde al inicio de la dimensión del bloque de un elemento.
La propiedad border-block-start-style
en CSS se utiliza para establecer el estilo del borde al inicio de la dimensión del bloque de un elemento. Al igual que otras propiedades con el prefijo block-
, forma parte de las Propiedades Lógicas de CSS. Esto significa que el estilo del borde al que se aplica esta propiedad dependerá del modo de escritura y la dirección del texto del elemento.
En la mayoría de los idiomas (como el español), la dirección del bloque es vertical y fluye de arriba hacia abajo. En este contexto, border-block-start-style
afectará el estilo del borde superior del elemento. Sin embargo, en modos de escritura verticales, podría afectar el estilo del borde derecho o izquierdo.
Sintaxis Básica
La sintaxis básica para usar la propiedad border-block-start-style
es la siguiente:
selector {
border-block-start-style: <estilo>;
}
Donde <estilo>
es el estilo que deseas aplicar al borde al inicio del bloque.
Valores de la Propiedad border-block-start-style
Puedes usar los siguientes valores para especificar el estilo del borde:
none
: No se muestra ningún borde. El ancho del borde es 0.hidden
: Similar anone
, pero en conflictos de bordes de tabla,hidden
tiene la prioridad más alta.dotted
: El borde se muestra como una serie de puntos.dashed
: El borde se muestra como una serie de guiones.solid
: El borde se muestra como una línea continua.double
: El borde se muestra como dos líneas sólidas paralelas. El ancho total es la suma del ancho de las dos líneas y el espacio entre ellas.groove
: El borde parece estar tallado en el lienzo. El efecto depende del color del borde.ridge
: El borde parece sobresalir del lienzo. El efecto también depende del color del borde.inset
: El contenido del elemento parece estar incrustado.outset
: El contenido del elemento parece sobresalir.
Comportamiento en Diferentes Modos de Escritura
El efecto de border-block-start-style
depende del modo de escritura del elemento:
-
Modo de Escritura Horizontal (
horizontal-tb
- predeterminado):border-block-start-style
se aplica al estilo del borde superior del elemento.
-
Modo de Escritura Vertical (
vertical-rl
- de derecha a izquierda):border-block-start-style
se aplica al estilo del borde derecho del elemento.
-
Modo de Escritura Vertical (
vertical-lr
- de izquierda a derecha):border-block-start-style
se aplica al estilo del borde izquierdo del elemento.
Ejemplo con modo de escritura vertical:
<!DOCTYPE html>
<html>
<head>
<style>
.elemento-vertical-rl {
width: 150px;
height: 200px;
border: 2px solid gray; /* Borde base para ver la estructura */
writing-mode: vertical-rl; /* Texto vertical de derecha a izquierda */
border-block-start-width: 5px; /* Necesitamos un ancho para que el estilo sea visible */
border-block-start-color: purple; /* También necesitamos un color */
border-block-start-style: dashed; /* El estilo dashed estará en el lado derecho */
}
.elemento-vertical-lr {
width: 150px;
height: 200px;
border: 2px solid gray; /* Borde base para ver la estructura */
writing-mode: vertical-lr; /* Texto vertical de izquierda a derecha */
border-block-start-width: 5px; /* Necesitamos un ancho para que el estilo sea visible */
border-block-start-color: orange; /* También necesitamos un color */
border-block-start-style: dotted; /* El estilo dotted estará en el lado izquierdo */
}
.elemento-horizontal {
width: 200px;
height: 100px;
border: 2px solid gray; /* Borde base para ver la estructura */
border-block-start-width: 5px; /* Necesitamos un ancho para que el estilo sea visible */
border-block-start-color: green; /* También necesitamos un color */
border-block-start-style: solid; /* El estilo solid estará en la parte superior */
}
</style>
</head>
<body>
<div class="elemento-vertical-rl">Texto vertical (RL)</div>
<div class="elemento-vertical-lr">Texto vertical (LR)</div>
<div class="elemento-horizontal">Texto horizontal</div>
</body>
</html>
En este ejemplo, el borde derecho del elemento vertical (RL) será punteado, el borde izquierdo del elemento vertical (LR) será de puntos, y el borde superior del elemento horizontal será sólido.
Relación con border-block-start-color
y border-block-start-width
Es fundamental recordar que border-block-start-style
solo establece el estilo del borde. Para que el borde sea visible, también debes definir un border-block-start-width
(el grosor del borde) y un border-block-start-color
. Si el estilo se establece en none
o hidden
, no se mostrará ningún borde, independientemente del ancho o el color que definas.
Ejemplo:
<!DOCTYPE html>
<html>
<head>
<style>
.elemento-sin-ancho-color {
width: 200px;
height: 100px;
border: 1px solid gray;
border-block-start-style: dashed; /* Este estilo no se mostrará porque falta el ancho y el color */
}
.elemento-completo {
width: 200px;
height: 100px;
border: 1px solid gray;
border-block-start-width: 5px;
border-block-start-color: blue;
border-block-start-style: dotted; /* Este estilo de puntos azul se mostrará en la parte superior */
}
</style>
</head>
<body>
<div class="elemento-sin-ancho-color">Este elemento no mostrará un borde de guiones porque falta el ancho y el color.</div>
<div class="elemento-completo">Este elemento mostrará un borde de puntos azul en la parte superior.</div>
</body>
</html>
Relación con border-block-end-style
La propiedad border-block-end-style
es la contraparte de border-block-start-style
y se utiliza para establecer el estilo del borde al final de la dimensión del bloque (típicamente el estilo del borde inferior en modo horizontal).
Relación con border-inline-start-style
Para establecer el estilo del borde al inicio de la dimensión en línea (típicamente el estilo del borde izquierdo en modo horizontal), se utiliza la propiedad border-inline-start-style
.
Casos de Uso Comunes
- Estilizar consistentemente el borde superior (o equivalente lógico): Asegurar que el borde al inicio del flujo del bloque tenga un estilo específico en diferentes contextos.
- Crear encabezados o separadores visuales con estilos particulares: Utilizar estilos como
dashed
odotted
para indicar una separación entre elementos. - Diseños que necesitan ser compatibles con diferentes modos de escritura: Utilizar propiedades lógicas facilita la adaptación a idiomas con diferentes flujos de texto.
Compatibilidad del Navegador
Las propiedades lógicas como border-block-start-style
tienen buena compatibilidad con los navegadores modernos. Sin embargo, para asegurar la compatibilidad con navegadores más antiguos, es posible que necesites usar la propiedad física border-top-style
como alternativa o en conjunto.
Consideraciones
- Recuerda que
border-block-start-style
solo establece el estilo. Necesitas usarborder-block-start-width
yborder-block-start-color
para definir el ancho y el color del borde. - Si el estilo se establece en
none
ohidden
, el borde no se mostrará. - Si solo estás trabajando con un modo de escritura horizontal y no necesitas la flexibilidad de las propiedades lógicas, puedes seguir utilizando
border-top-style
. - Las propiedades lógicas son especialmente útiles en proyectos que requieren soporte para múltiples idiomas con diferentes modos de escritura.
Conclusión
La propiedad border-block-start-style
te permite controlar fácilmente el estilo del borde al inicio de la dimensión del bloque de tus elementos CSS, facilitando la creación de diseños adaptables y consistentes en diferentes contextos de escritura. Al combinarla con border-block-start-width
y border-block-start-color
, tienes un control completo sobre la apariencia de este borde lógico. ¡Experimenta con diferentes estilos y modos de escritura para apreciar su utilidad!