La Propiedad BORDER-BLOCK-START-WIDTH

La propiedad border-block-start-width en CSS se utiliza para establecer el ancho del borde al inicio de la dimensión del bloque de un elemento.
La propiedad border-block-start-width en CSS se utiliza para establecer el ancho 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 ancho 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-width afectará el ancho del borde superior del elemento. Sin embargo, en modos de escritura verticales, podría afectar el ancho del borde derecho o izquierdo.
Sintaxis Básica
La sintaxis básica para usar la propiedad border-block-start-width es la siguiente:
selector {
border-block-start-width: <ancho>;
}
Donde <ancho> es el grosor que deseas aplicar al borde al inicio del bloque.
Valores de la Propiedad border-block-start-width
Puedes usar los siguientes tipos de valores para especificar el ancho del borde:
- Palabras clave:
thin: Un borde delgado.medium: Un borde de grosor medio (valor predeterminado).thick: Un borde grueso.
- Unidades de medida: Puedes usar cualquier unidad de longitud CSS, como píxeles (
px), ems (em), rems (rem), etc.
Comportamiento en Diferentes Modos de Escritura
El efecto de border-block-start-width depende del modo de escritura del elemento:
-
Modo de Escritura Horizontal (
horizontal-tb- predeterminado):border-block-start-widthse aplica al ancho del borde superior del elemento.
-
Modo de Escritura Vertical (
vertical-rl- de derecha a izquierda):border-block-start-widthse aplica al ancho del borde derecho del elemento.
-
Modo de Escritura Vertical (
vertical-lr- de izquierda a derecha):border-block-start-widthse aplica al ancho del borde izquierdo del elemento.
Ejemplo con modo de escritura vertical:
<!DOCTYPE html>
<html>
<head>
<style>
.elemento-vertical-rl {
width: 150px;
height: 200px;
border: 1px solid gray; /* Borde base para ver la estructura */
writing-mode: vertical-rl; /* Texto vertical de derecha a izquierda */
border-block-start-style: solid; /* Necesitamos un estilo para que el ancho sea visible */
border-block-start-color: purple; /* También necesitamos un color */
border-block-start-width: 5px; /* El ancho de 5px estará en el lado derecho */
}
.elemento-vertical-lr {
width: 150px;
height: 200px;
border: 1px solid gray; /* Borde base para ver la estructura */
writing-mode: vertical-lr; /* Texto vertical de izquierda a derecha */
border-block-start-style: solid; /* Necesitamos un estilo para que el ancho sea visible */
border-block-start-color: orange; /* También necesitamos un color */
border-block-start-width: thick; /* El ancho grueso estará en el lado izquierdo */
}
.elemento-horizontal {
width: 200px;
height: 100px;
border: 1px solid gray; /* Borde base para ver la estructura */
border-block-start-style: solid; /* Necesitamos un estilo para que el ancho sea visible */
border-block-start-color: green; /* También necesitamos un color */
border-block-start-width: 3px; /* El ancho de 3px 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) tendrá un ancho de 5 píxeles, el borde izquierdo del elemento vertical (LR) será grueso, y el borde superior del elemento horizontal tendrá un ancho de 3 píxeles.
Relación con border-block-start-color y border-block-start-style
Es importante recordar que border-block-start-width solo establece el ancho del borde. Para que el borde sea visible, también debes definir un border-block-start-style (como solid, dashed, dotted) y un border-block-start-color. Si no se establece un estilo de borde, no se mostrará ningún borde, sin importar el ancho o el color que definas.
Ejemplo:
<!DOCTYPE html>
<html>
<head>
<style>
.elemento-sin-estilo {
width: 200px;
height: 100px;
border: 1px solid gray;
border-block-start-width: 5px; /* Este ancho no se mostrará porque falta el estilo */
}
.elemento-completo {
width: 200px;
height: 100px;
border: 1px solid gray;
border-block-start-style: dashed;
border-block-start-color: blue;
border-block-start-width: thick; /* Este borde azul punteado y grueso se mostrará en la parte superior */
}
</style>
</head>
<body>
<div class="elemento-sin-estilo">Este elemento no mostrará un borde porque falta el estilo.</div>
<div class="elemento-completo">Este elemento mostrará un borde azul punteado y grueso en la parte superior.</div>
</body>
</html>
Relación con border-block-end-width
La propiedad border-block-end-width es la contraparte de border-block-start-width y se utiliza para establecer el ancho del borde al final de la dimensión del bloque (típicamente el ancho del borde inferior en modo horizontal).
Relación con border-inline-start-width
Para establecer el ancho del borde al inicio de la dimensión en línea (típicamente el ancho del borde izquierdo en modo horizontal), se utiliza la propiedad border-inline-start-width.
Casos de Uso Comunes
- Estilizar consistentemente el grosor del borde superior (o equivalente lógico): Asegurar que el borde al inicio del flujo del bloque tenga un ancho específico en diferentes contextos.
- Crear encabezados o separadores visuales con un grosor definido: Utilizar anchos específicos para indicar la importancia de la 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-width 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-width como alternativa o en conjunto.
Consideraciones
- Recuerda que
border-block-start-widthsolo establece el ancho. Necesitas usarborder-block-start-styleyborder-block-start-colorpara definir el estilo y el color del borde. - Si el estilo no está establecido, el ancho no será visible.
- 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-width. - 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-width te permite controlar fácilmente el grosor 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-style y border-block-start-color, tienes un control completo sobre la apariencia de este borde lógico. ¡Experimenta con diferentes anchos y modos de escritura para apreciar su utilidad!