La Propiedad BORDER-START-START-RADIUS

La propiedad border-start-start-radius en CSS es una propiedad lógica que define el radio del borde en la esquina donde se encuentran el borde del inicio del bloque (block-start) y el borde del inicio de la línea (inline-start) de un elemento.
La propiedad border-start-start-radius
en CSS es una propiedad lógica que define el radio del borde en la esquina donde se encuentran el borde del inicio del bloque (block-start) y el borde del inicio de la línea (inline-start) de un elemento.
Al ser una propiedad lógica, la esquina física que se redondea depende del modo de escritura (writing-mode
) y la dirección del texto (direction
) del elemento. Esto la convierte en una herramienta poderosa para crear diseños que funcionan bien en diferentes idiomas y sistemas de escritura.
Sintaxis Básica
La sintaxis básica para usar la propiedad border-start-start-radius
es la siguiente:
selector {
border-start-start-radius: <radio>;
}
Donde <radio>
puede ser un valor único o dos valores, de manera similar a la propiedad border-radius
.
Valores de la Propiedad border-start-start-radius
Puedes utilizar los siguientes tipos de valores para especificar el radio del borde:
-
<length>
: Un valor de longitud absoluto (por ejemplo,px
,em
,rem
) o relativo (por ejemplo,vw
,vh
).CSS.ejemplo { border-start-start-radius: 15px; }
-
<percentage>
: Un valor de porcentaje relativo a la dimensión correspondiente de la caja del borde. Para el radio horizontal, el porcentaje se refiere al ancho de la caja del borde. Para el radio vertical, se refiere a la altura de la caja del borde.CSS.ejemplo { width: 200px; height: 100px; border-start-start-radius: 20% 10%; /* 20% del ancho para el radio horizontal, 10% de la altura para el radio vertical */ }
-
Dos Valores (Radio Elíptico): Puedes especificar dos valores separados por un espacio. El primer valor representa el radio horizontal y el segundo valor representa el radio vertical. Esto permite crear esquinas con forma de elipse.
CSS.ejemplo { border-start-start-radius: 10px 30px; /* Radio horizontal de 10px, radio vertical de 30px */ }
¿Qué esquina se ve afectada?
La esquina que border-start-start-radius
redondea depende de la configuración de writing-mode
y direction
:
writing-mode: horizontal-tb; direction: ltr;
(Predeterminado): La esquina superior izquierda.writing-mode: horizontal-tb; direction: rtl;
: La esquina superior derecha.writing-mode: vertical-lr; direction: ltr;
: La esquina superior izquierda.writing-mode: vertical-rl; direction: ltr;
: La esquina inferior izquierda.
Es importante tener en cuenta estas variaciones para diseñar elementos que se adapten a diferentes contextos lingüísticos y de escritura.
Relación con Otras Propiedades de Borde
border-start-start-radius
es la contraparte lógica de la propiedad física border-top-left-radius
en un diseño de izquierda a derecha y horizontal. Al utilizar propiedades lógicas como esta, tu CSS se vuelve más semántico y adaptable.
Recuerda que también existen otras propiedades lógicas para las otras esquinas:
border-start-end-radius
: Redondea la esquina donde se encuentran el inicio del bloque y el final de la línea.border-end-start-radius
: Redondea la esquina donde se encuentran el final del bloque y el inicio de la línea.border-end-end-radius
: Redondea la esquina donde se encuentran el final del bloque y el final de la línea.
Ejemplos Prácticos
Veamos algunos ejemplos de cómo usar border-start-start-radius
:
Ejemplo 1: Modo de escritura horizontal (LTR)
<!DOCTYPE html>
<html>
<head>
<style>
.elemento {
width: 200px;
height: 100px;
background-color: #f0f0f0;
margin: 20px;
border: 2px solid black;
border-start-start-radius: 15px; /* Redondea la esquina superior izquierda */
}
</style>
</head>
<body>
<div class="elemento">Este elemento tiene la esquina superior izquierda redondeada.</div>
</body>
</html>
Ejemplo 2: Modo de escritura horizontal (RTL)
<!DOCTYPE html>
<html>
<head>
<style>
.contenedor {
direction: rtl;
}
.elemento {
width: 200px;
height: 100px;
background-color: #e0e0e0;
margin: 20px;
border: 2px solid blue;
border-start-start-radius: 15px; /* Ahora redondea la esquina superior derecha */
}
</style>
</head>
<body>
<div class="contenedor">
<div class="elemento">Este elemento tiene la esquina superior derecha redondeada en RTL.</div>
</div>
</body>
</html>
Ejemplo 3: Modo de escritura vertical (LR)
<!DOCTYPE html>
<html>
<head>
<style>
.elemento {
width: 80px;
height: 150px;
background-color: #f0f0f0;
margin: 20px;
writing-mode: vertical-lr;
border: 2px solid green;
border-start-start-radius: 15px; /* Redondea la esquina superior izquierda */
}
</style>
</head>
<body>
<div class="elemento">Texto vertical con la esquina superior izquierda redondeada.</div>
</body>
</html>
Ejemplo 4: Radio elíptico
<!DOCTYPE html>
<html>
<head>
<style>
.elemento {
width: 200px;
height: 100px;
background-color: #e0e0e0;
margin: 20px;
border: 2px solid purple;
border-start-start-radius: 30px 10px; /* Radio horizontal de 30px, radio vertical de 10px */
}
</style>
</head>
<body>
<div class="elemento">Esquina superior izquierda (en LTR) con radio elíptico.</div>
</body>
</html>
Casos de Uso Comunes
- Crear diseños que se adapten automáticamente a diferentes direcciones de texto (LTR y RTL).
- Diseñar componentes de interfaz de usuario reutilizables que mantengan la coherencia visual en diferentes contextos lingüísticos.
- Utilizar propiedades lógicas para simplificar el código CSS y hacerlo más fácil de mantener.
Compatibilidad del Navegador
La propiedad border-start-start-radius
es parte de las especificaciones de propiedades lógicas de CSS y tiene un buen soporte en los navegadores modernos. Sin embargo, es posible que navegadores más antiguos no la soporten.
Consideraciones
- Asegúrate de definir también las propiedades
border-style
yborder-width
para que el radio del borde sea visible. - Considera utilizar las otras propiedades lógicas de radio de borde para tener un control completo sobre las esquinas de tus elementos de forma adaptable.
Conclusión
La propiedad border-start-start-radius
es una herramienta valiosa para crear sitios web y aplicaciones web más accesibles y adaptables a diferentes idiomas y modos de escritura. Al utilizar propiedades lógicas, puedes escribir CSS más limpio y semántico que se ajusta automáticamente a las necesidades de tus usuarios internacionales. Experimenta con border-start-start-radius
y otras propiedades lógicas para llevar tus habilidades de diseño web al siguiente nivel.