La Propiedad BORDER-INLINE-WIDTH

La propiedad border-inline-width en CSS se utiliza para establecer el ancho de los bordes de un elemento que se encuentran en la dimensión en línea.
La propiedad border-inline-width
en CSS se utiliza para establecer el ancho de los bordes de un elemento que se encuentran en la dimensión en línea. Al igual que otras propiedades con el prefijo inline-
, forma parte de las propiedades lógicas de CSS. Esto significa que los bordes afectados dependen del modo de escritura y la dirección del texto del elemento.
En la mayoría de los casos (modo de escritura horizontal de izquierda a derecha), la dimensión en línea corresponde a los bordes izquierdo y derecho. Sin embargo, en contextos con diferentes modos de escritura (como texto vertical) o direcciones (como derecha a izquierda), la dimensión en línea podría referirse a los bordes superior e inferior, o a la derecha e izquierda en un orden diferente.
border-inline-width
es una propiedad abreviada que te permite definir el ancho de los bordes al inicio y al final de la dimensión en línea de manera lógica.
Sintaxis Básica
La sintaxis básica para usar la propiedad border-inline-width
es la siguiente:
selector {
border-inline-width: <ancho>;
}
Donde <ancho>
puede ser un valor de longitud o una palabra clave.
También puedes especificar anchos diferentes para el inicio y el final de la dimensión en línea:
selector {
border-inline-width: <ancho-inicio> <ancho-fin>;
}
Valores de la Propiedad border-inline-width
Puedes usar los siguientes tipos de valores para especificar el ancho de los bordes en línea:
-
Valores de longitud: Especificados en unidades como píxeles (
px
), ems (em
), rems (rem
), viewport width (vw
), viewport height (vh
), etc.CSS.ancho-pixeles { border-inline-width: 2px; } .ancho-ems { font-size: 16px; /* Ejemplo para calcular el em */ border-inline-width: 0.1em; /* Ancho de 0.1 * 16px = 1.6px */ }
-
Valores de palabra clave:
thin
: Un borde delgado. El grosor exacto varía según el navegador.medium
: Un borde de grosor medio. Es el valor predeterminado.thick
: Un borde grueso. El grosor exacto varía según el navegador.
CSS.ancho-delgado { border-inline-width: thin; } .ancho-medio { border-inline-width: medium; } .ancho-grueso { border-inline-width: thick; }
Especificando un Solo Ancho
Cuando se proporciona un solo valor a border-inline-width
, este ancho se aplica tanto al borde al inicio de la dimensión en línea como al borde al final de la dimensión en línea.
Ejemplo (Modo de escritura horizontal, dirección ltr):
.elemento-un-ancho {
width: 200px;
height: 100px;
background-color: #f0f0f0;
margin: 20px;
border-style: solid; /* Necesitas un estilo para que el ancho sea visible */
border-color: black; /* Necesitas un color para que el ancho sea visible */
border-inline-width: 5px; /* Los bordes izquierdo y derecho tendrán un ancho de 5px */
}
Especificando Dos Anchos
Cuando se proporcionan dos valores a border-inline-width
, el primer valor se aplica al ancho del borde al inicio de la dimensión en línea, y el segundo valor se aplica al ancho del borde al final de la dimensión en línea.
Ejemplo (Modo de escritura horizontal, dirección ltr):
.elemento-dos-anchos {
width: 250px;
height: 80px;
background-color: #e0e0e0;
margin: 20px;
border-style: dashed;
border-color: blue;
border-inline-width: 2px 8px; /* El borde izquierdo tendrá 2px, el borde derecho tendrá 8px */
}
Propiedades Lógicas Individuales Relacionadas
border-inline-width
es una propiedad abreviada para establecer los anchos de los siguientes bordes lógicos individuales:
border-inline-start-width
: Establece el ancho del borde al inicio de la dimensión en línea. En un flujo de texto de izquierda a derecha, esto corresponde al borde izquierdo.border-inline-end-width
: Establece el ancho del borde al final de la dimensión en línea. En un flujo de texto de izquierda a derecha, esto corresponde al borde derecho.
Puedes usar border-inline-width
para establecer ambos anchos simultáneamente, o usar las propiedades individuales para un control más específico.
Comportamiento en Diferentes Modos de Escritura y Direcciones
La principal ventaja de usar border-inline-width
es su adaptabilidad a diferentes modos de escritura y direcciones de texto:
-
En un modo de escritura horizontal (
horizontal-tb
) con dirección de izquierda a derecha (ltr
, que es el predeterminado),border-inline-width
afectará los anchos de los bordes izquierdo y derecho. El primer ancho especificado (si hay dos) se aplicará al borde izquierdo y el segundo al borde derecho. -
En un modo de escritura horizontal con dirección de derecha a izquierda (
rtl
),border-inline-width
seguirá afectando los anchos de los bordes en la dimensión en línea, pero ahora el primer ancho se aplicará al borde derecho y el segundo al borde izquierdo. -
En un modo de escritura vertical (
vertical-rl
overtical-lr
), la dimensión en línea se convierte en la dirección vertical. Por lo tanto,border-inline-width
afectará los anchos de los bordes superior e inferior. El primer ancho se aplicará al borde superior (envertical-lr
) o al borde inferior (envertical-rl
), y el segundo al borde inferior (envertical-lr
) o al borde superior (envertical-rl
). La dirección (ltr
ortl
) también puede influir en este mapeo en algunos casos.
Relación con las Propiedades de Ancho de Borde Físicas
En un contexto predeterminado (modo de escritura horizontal, dirección ltr):
border-inline-width: 3px;
es equivalente a:CSSborder-left-width: 3px; border-right-width: 3px;
border-inline-width: thin thick;
es equivalente a:CSSborder-left-width: thin; border-right-width: thick;
Sin embargo, esta equivalencia no se mantiene en otros modos de escritura o direcciones.
Ejemplos Prácticos
Aquí tienes algunos ejemplos de cómo usar border-inline-width
en diferentes contextos:
Ejemplo 1: Modo de escritura horizontal (LTR)
<!DOCTYPE html>
<html>
<head>
<style>
.elemento {
width: 200px;
height: 100px;
background-color: #f0f0f0;
margin: 20px;
border-style: solid;
border-color: black;
border-inline-width: 5px; /* Ancho de 5px en los bordes izquierdo y derecho */
}
.elemento-diferente {
width: 250px;
height: 80px;
background-color: #e0e0e0;
margin: 20px;
border-style: dashed;
border-color: blue;
border-inline-width: 2px 8px; /* Borde izquierdo de 2px, borde derecho de 8px */
}
</style>
</head>
<body>
<div class="elemento">Borde en línea de 5px.</div>
<div class="elemento-diferente">Bordes en línea con diferentes anchos.</div>
</body>
</html>
Ejemplo 2: Modo de escritura horizontal (RTL)
<!DOCTYPE html>
<html>
<head>
<style>
.contenedor {
direction: rtl; /* Texto de derecha a izquierda */
}
.elemento {
width: 200px;
height: 100px;
background-color: #f0f0f0;
margin: 20px;
border-style: solid;
border-color: black;
border-inline-width: 5px; /* Ahora el ancho de 5px estará en los bordes derecho e izquierdo */
}
.elemento-diferente {
width: 250px;
height: 80px;
background-color: #e0e0e0;
margin: 20px;
border-style: dashed;
border-color: blue;
border-inline-width: 2px 8px; /* Ahora el borde derecho tendrá 2px, el borde izquierdo tendrá 8px */
}
</style>
</head>
<body>
<div class="contenedor">
<div class="elemento">Borde en línea de 5px en RTL.</div>
<div class="elemento-diferente">Bordes en línea con diferentes anchos en RTL.</div>
</div>
</body>
</html>
Ejemplo 3: Modo de escritura vertical
<!DOCTYPE html>
<html>
<head>
<style>
.elemento {
width: 80px;
height: 150px;
background-color: #f0f0f0;
margin: 20px;
writing-mode: vertical-lr; /* Texto vertical de arriba a abajo */
border-style: dotted;
border-color: black;
border-inline-width: 4px; /* Ancho de 4px en los bordes superior e inferior */
}
.elemento-diferente {
width: 70px;
height: 180px;
background-color: #e0e0e0;
margin: 20px;
writing-mode: vertical-rl; /* Texto vertical de derecha a izquierda */
border-style: double;
border-color: red;
border-inline-width: thick thin; /* Borde inferior grueso, borde superior delgado */
}
</style>
</head>
<body>
<div class="elemento">Texto Vertical con borde en línea de 4px.</div>
<div class="elemento-diferente">Texto Vertical (RL) con diferentes anchos en el borde en línea.</div>
</body>
</html>
Casos de Uso Comunes
- Establecer el ancho de los bordes izquierdo y derecho de manera lógica, adaptándose a la dirección del texto.
- Definir el ancho de los bordes superior e inferior en modos de escritura verticales.
- Crear estilos de borde consistentes en aplicaciones web internacionalizadas.
Compatibilidad del Navegador
La propiedad border-inline-width
tiene buena compatibilidad con los navegadores modernos. Sin embargo, es posible que navegadores más antiguos no la soporten.
Consideraciones
- Recuerda que debes establecer las propiedades
border-style
yborder-color
para que el ancho del borde sea visible. - Utiliza
border-inline-start-width
yborder-inline-end-width
para un control más específico sobre el ancho de cada borde en la dimensión en línea.
Conclusión
La propiedad border-inline-width
es una herramienta poderosa en CSS para crear bordes que se adaptan inteligentemente a diferentes modos de escritura y direcciones de texto. Al utilizarla, puedes escribir código CSS más limpio y crear diseños web más accesibles y globalizados. Recuerda que es una propiedad abreviada para los anchos de los bordes en la dimensión en línea, y puedes usar las propiedades individuales para un control más granular.