Contornos

Resaltado de contorno para propósitos de accesibilidad


Mediante CSS se pueden modificar ciertos detalles relacionados con el modo en que interactua el usuario con un alguno de los componentes del interfaz de la página.

Contornos (outlines)

La familia de propiedades outline-* nos permiten modificar el comportamiento del contorno de los elementos: una línea divisoria que rodea el contenido externo del propio elemento. A diferencia de los bordes, esta línea divisoria, por defecto no ocupa espacio y no tiene porque tener una forma rectangular.

Es fácil de observar esta línea divisoria en los navegadores, pulsando TAB y moviéndonos por los diferentes enlaces de la página. Generalmente, aparece como una línea punteada y es muy similar al funcionamiento de los bordes.

Propiedad Valor Significado
outline-color invert | Invierte el color de la misma.
outline-style | none Idem a los bordes. Estilo de la línea divisoria.
outline-width medium | thin | thick | Tamaño de los bordes. Tamaño predefinido o específico.
outline-offset Desplazamiento del contorno.

La propiedad outline-color permite modificar el color de la línea divisoria, en el caso de que el tamaño outline-width sea mayor que cero. Además, al igual que con los bordes, también se puede cambiar el estilo de la línea con outline-style .

En CSS3 también existe la propiedad outline-offset , que nos permite ampliar el desplazamiento o espacio interior dentro del perfil del elemento.

Atajo: La propiedad outline

Es posible, al igual que con muchas otras propiedades, resumir en una sola propiedad para ahorrar espacio. El orden recomendado es el siguiente:

div {
  /* outline: <color> <style> <width> */
}

Nota: En muchas ocasiones, estas propiedades son usadas por el desarrollador para indicar un outline: 0 y desactivar esta característica de contorno. Hay que tener mucho cuidado con esto, ya que este contorno visual es muy importante en el ámbito de la accesibilidad, y desactivarlo puede ser contraproducente.

¿Quién soy yo?

Soy Manz, vivo en Tenerife (España) y soy streamer partner en Twitch y profesor. Me apasiona el universo de la programación web, el diseño y desarrollo web y la tecnología en general. Aunque soy full-stack, mi pasión es el front-end, la terminal y crear cosas divertidas y locas.

Puedes encontrar más sobre mi en Manz.dev