La Propiedad BORDER-BLOCK-COLOR

La propiedad border-block-color en CSS se utiliza para establecer el color de los bordes en las direcciones de inicio y fin del bloque de un elemento.
La propiedad border-block-color
en CSS se utiliza para establecer el color de los bordes en las direcciones de inicio y fin del bloque de un elemento. Al igual que border-block
, esta propiedad es parte de las Propiedades Lógicas de CSS, lo que la hace ideal para diseñar interfaces que se adaptan a diferentes modos de escritura (horizontal, vertical) y direcciones del texto.
En la mayoría de los idiomas (como el español), la dirección del bloque es vertical. Por lo tanto, border-block-color
típicamente afectará el color de los bordes superior e inferior del elemento. Sin embargo, en modos de escritura verticales, afectará el color de los bordes izquierdo y derecho.
Sintaxis Básica
La sintaxis básica para usar la propiedad border-block-color
es la siguiente:
selector {
border-block-color: <color>;
}
Donde <color>
es el color que deseas aplicar a los bordes de inicio y fin del bloque. Puedes usar cualquiera de los formatos de color CSS válidos.
Valores de la Propiedad border-block-color
Puedes usar los siguientes tipos de valores para especificar el color:
- Nombres de colores: (
red
,blue
,green
,orange
, etc.) - Valores hexadecimales: (
#FF0000
,#00FF00
,#0000FF
, etc.) - Valores RGB: (
rgb(255, 0, 0)
,rgb(0, 255, 0)
,rgb(0, 0, 255)
, etc.) - Valores RGBA: (
rgba(255, 0, 0, 0.5)
,rgba(0, 255, 0, 0.7)
, etc.) - Valores HSL: (
hsl(0, 100%, 50%)
,hsl(120, 100%, 50%)
, etc.) - Valores HSLA: (
hsla(0, 100%, 50%, 0.5)
,hsla(120, 100%, 50%, 0.7)
, etc.) transparent
: Para hacer el borde transparente.
Propiedades Individuales de border-block-color
La propiedad border-block-color
establece el color de las siguientes propiedades lógicas individuales:
border-block-start-color
: Establece el color del borde al inicio del bloque (en un modo horizontal, esto es el color del borde superior).border-block-end-color
: Establece el color del borde al final del bloque (en un modo horizontal, esto es el color del borde inferior).
Comportamiento en Diferentes Modos de Escritura
Al igual que con otras propiedades lógicas, el efecto de border-block-color
depende del modo de escritura del elemento:
-
Modo de Escritura Horizontal (
horizontal-tb
- predeterminado):border-block-start-color
se aplica al color del borde superior.border-block-end-color
se aplica al color del borde inferior.
-
Modo de Escritura Vertical (
vertical-rl
overtical-lr
):border-block-start-color
se aplica al color del borde derecho (vertical-rl
) o izquierdo (vertical-lr
).border-block-end-color
se aplica al color del borde izquierdo (vertical-rl
) o derecho (vertical-lr
).
Ejemplo con modo de escritura vertical:
<!DOCTYPE html>
<html>
<head>
<style>
.elemento-vertical {
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-style: solid; /* Necesitamos un estilo para que el color sea visible */
border-block-color: purple; /* El color púrpura estará a la derecha (inicio) y a la izquierda (fin) */
}
.elemento-horizontal {
width: 200px;
height: 100px;
border: 2px solid gray; /* Borde base para ver la estructura */
border-block-style: solid; /* Necesitamos un estilo para que el color sea visible */
border-block-color: green; /* El color verde estará arriba (inicio) y abajo (fin) */
}
</style>
</head>
<body>
<div class="elemento-vertical">Texto vertical</div>
<div class="elemento-horizontal">Texto horizontal</div>
</body>
</html>
En este ejemplo, el borde púrpura aparecerá en los lados derecho e izquierdo del elemento vertical, mientras que el borde verde aparecerá en los lados superior e inferior del elemento horizontal.
Relación con border-block-style
y border-block-width
Es importante recordar que para que el color del borde sea visible, también debes establecer un border-block-style
y un border-block-width
. Si no se establece un estilo de borde, no se mostrará ningún borde, independientemente del color o el ancho que definas.
Ejemplo:
<!DOCTYPE html>
<html>
<head>
<style>
.elemento-con-color {
width: 200px;
height: 100px;
border: 1px solid gray;
border-block-color: orange; /* El color no será visible sin un estilo y ancho */
}
.elemento-completo {
width: 200px;
height: 100px;
border: 1px solid gray;
border-block-width: 5px;
border-block-style: dashed;
border-block-color: blue; /* Ahora el borde azul punteado será visible */
}
</style>
</head>
<body>
<div class="elemento-con-color">Este elemento no mostrará un borde naranja porque falta el estilo y el ancho del bloque.</div>
<div class="elemento-completo">Este elemento mostrará un borde azul punteado en la parte superior e inferior.</div>
</body>
</html>
Relación con border-inline-color
De manera similar a border-block-color
, existe la propiedad border-inline-color
que se utiliza para establecer el color de los bordes en las direcciones de inicio y fin de la línea (horizontalmente en la mayoría de los casos).
Casos de Uso Comunes
- Estilizar consistentemente los bordes de inicio y fin del bloque: Asegurar que los bordes superior e inferior (o izquierdo y derecho en modos verticales) tengan el mismo color.
- Crear temas visuales: Definir colores de borde que se mantengan consistentes a través de diferentes orientaciones de texto.
- Simplificar el código para diseños internacionales: Utilizar propiedades lógicas para evitar tener que escribir reglas separadas para diferentes modos de escritura.
Compatibilidad del Navegador
Las propiedades lógicas como border-block-color
tienen buena compatibilidad con los navegadores modernos. Sin embargo, para asegurar la compatibilidad con navegadores más antiguos, es posible que necesites usar las propiedades físicas (border-top-color
, border-bottom-color
) como alternativa o en conjunto.
Consideraciones
- Recuerda que
border-block-color
solo establece el color. Necesitas usarborder-block-style
yborder-block-width
para definir el estilo y el ancho del borde. - 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-color
yborder-bottom-color
. - 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-color
te permite controlar fácilmente el color de los bordes en la direcció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-style
y border-block-width
, tienes un control completo sobre la apariencia de estos bordes lógicos. ¡Experimenta con diferentes colores y modos de escritura para apreciar su utilidad!