header ¡dios mio, esta lleno de estrellas..!

Publicidad




Contornos en CSS (la propiedad outline)

¿Has visto alguna vez ese bordecito a puntos alrededor de un enlace?

Suele aparecer cuando el enlace tiene el foco. ¿Si?, Bueno, de todas formas pongo una captura:


Contorno

Bien, pues esa linea a puntitos no es ni padding, ni margin ni border, (realmente no pertenece al modelo de caja de CSS). Pues resulta que esto se llama contorno y se controla mediante la propiedad outline.

Los contornos se crean alrededor de elementos como enlaces, campos de formularios, mapas de images para destacarlos sobre el resto en un momento determinado (cuando tienen el foco, por ejemplo), y una cosa importante, se dibujan sobre la caja.

Sobre la caja, no en la caja, lo que implica que los contornos, a diferencia de los bordes no ocupan espacio, ni influyen en el tamaño de la caja ni del resto de cajas. En resumidas cuentas, mostrar u ocultar contornos no debe implicar el redibujado de nuestra página.

La otra gran diferencia con los bordes del modelo de cajas de CSS es que nuestros contornos pueden perfectamente no tener formas rectangulares, por ejemplo cuando nuestro elemento ocupa varias lineas de texto:

contorno

Vemos que el contorno mantiene siempre sus bordes cerrados, al contrario de lo que ocurre con los bordes:

Bordes

que se abren o cierran al principio o final de las cajas, cuando es necesario.

Los contornos se controlan con tres propiedades básicas, outline-width, outline-style y outline-color. Que para entendernos funcionan igual (casi) que sus equiavalentes para bordes.

Antes de seguir, por si alguien lo esta pensando, los cuatro lados de un contorno son siempre iguales, nada de outline-top-width ni nada parecido.

outline-width:

El ancho de nuestro contorno, admite los valores thin (fino), medium (mediano) o thick (grueso) o una medida.

outline-style:

Admite los mismos valores que la propiedad border-style, expceto hidden. A saber:
none: Ningún borde.
dotted: El borde es una serie de puntos.
dashed: El borde es una serie de pequeños segmentos de línea.
solid: El borde es un único segmento de línea.
double: El borde son dos líneas sólidas.
groove: El borde luce como si estuviese tallado en el lienzo.
ridge: Lo opuesto a 'grove': el borde parece que estuviera sobresaliendo del lienzo.
inset: El borde hace que toda la caja luzca como si estuviera empotrada en el lienzo.
outset: Lo opuesto a 'inset': el borde hace que toda la caja parezca sobresalir del lienzo.

outline-color:

Pues eso, el color del contorno. Admite expresiones de color como #339966 o el valor invert, que fuerza el color de contorno al opuesto del lienzo, de forma que aseguramos que siempre será visible.

forma compacta

La forma compacta para la propiedad outline es:

outline: width style color

por ejemplo:

CSS:
  1. a{
  2. outline: thick solid black;
  3. }

Aplicaciones prácticas

Todo esto esta muy bien, parece divertido, pero tambien puede ser util:

Ocultar el contorno en los enlaces

No se a vosotros, pero a mi me parece feo, que aparezca el contorno despues de pulsar un enlace.

CSS:
  1. a{
  2. outline:none;
  3. }

y listo.

depurar una maquetación

CSS:
  1. * { outline: 2px solid red; }
  2. * * { outline: 2px solid green; }
  3. * * *{ outline: 2px solid blue; }

Como los contornos no influyen en la posición ni tamaño de nuestras cajas este truco es genial para depurar una maquetación, y saber en todo momento donde esta cada cosa.

archivado por hari en css, webdesign
el 22 dEurope/Berlin Agosto dEurope/Berlin 2006
puedes escribir un comentario
o leer los 16 que ya existen

Comentarios

  1. 1

    De tan acostumbrado que estoy a los contornos, nunca me había preguntado por qué aparecen o como quitarlos.

    Gracias por la información.

  2. 2

    No hay de que, Jose.
    Al fin y al cabo para eso estamos ¿verdad?

  3. 3

    Que bueno el truco ese… con javascript puede hacer algo que cada enlace aparezca de un modo… o incluso el mismo enlace.

  4. 4

    […] Si no terminas de ver claro el uso de la propiedad outline no dejes de leer este otro articulo […]

  5. 5

    […] Si quieres más información sobre este atributo, recomiendo este artículo de el Plan Seldon, un gran blog. « Las mejores herramientas CSS del mes […]

  6. 6

    ¡Muchas gracias! Justo ayer estaba comentando con un amigo que creía haber visto en alguna ocasión la manera de quitar ese borde tan feo, pero no lo recordaba. Ya lo he aplicado y funciona de maravilla.

  7. 7

    […] Si quieres más información sobre este atributo, recomiendo este artículo de el Plan Seldon, un gran blog. […]

  8. 8

    Gracias la info ..saludos

  9. 9

    Gracias por el artículo. Muy instructivo.

  10. 10

    […] g) Sobre outline: link […]

  11. 11

    […] [para profundizar un poco más en este tema…] […]

  12. 12

    Hola gente! FANTASTICA página
    Yo tambien usaba la propiedad outline hasta que lei por ahi que quitaba accesibilidad a un site

    (Sin ir más lejos, intentar navegar por una página sin el ratón y solo con el tabulador del teclado y que tenga la propiedad outline:none

    Es imposible :(

    Salu2 a tod@s!

  13. 13

    interesting

  14. 14

    Sorry :(

  15. 15

    Nice

  16. 16

    Cool!

Añade tu opinión

*

*