Bordes redondeados sin imágenes con CSS3

Existen diversas técnicas para implementar bordes redondeados mediante el uso de imágenes o tablas. Sin embargo, lo ideal serí­a poder implementarlo sin utilizar imágenes, de forma más fácil y civilizada. Esto no es posible actualmente con CSS1, CSS2 o CSS 2.1. Actualmente los navegadores no soportan el 100% de la versión 2.1, por lo que se tardará en adoptarse las caracterí­sticas de CSS3, lo que será el futuro de CSS.

Aunque CSS3 está en fase de desarrollo, ya existe una propuesta del borrador por parte de la W3C, donde incluyen algunas nuevas caracterí­sticas. Una de ellas y que me ha llamado la atención es la posibilidad de crear bordes redondeados sin necesidad de imágenes o tablas, la cual es soportada actualmente en forma experimental por los navegadores que utilizan el motor de renderizado Gecko, como Firefox y tambien Mozilla, Netscape, Galeon, Epiphany, Camino, Flock, K-meleon y otros derivados de Mozilla. También es soportado por WebKit. El navegador más popular del mundo parece no sumarse aun ya que tiene ciertos problemillas para digerir el CSS2 y proponen en su sitio que utilicemos el ‘viejo’ modo, ya que no tienen pensado implementarlo de forma nativa.

Veamos primero un ejemplo:

Si estas navegando con Firefox o uno de los navegadores que acabamos de nombrar, verás los bordes redondeados en este cuadro. Si todaví­a utilizas Internet Explorer te recomiendo bajarte el Firefox y veas como funciona.

Lo que hicimos fue agregar la propiedad border-radius:[valor]px; a la etiqueta DIV. Al ser todaví­a experimental, agregamos -moz al principio para los navegadores basados en Mozilla, pero cuando esté pronto ya no será necesario. De todas formas es mejor poner ambas formas para que cuando esté implementado ya estemos preparados y funcione en la mayorí­a de los navegadores que sigan el estándar.

Además de lo anterior, podemos controlar cada borde del recuadro. Vean los siguientes ejemplos:

Esquina superior izquierda

-moz-border-radius-topleft: 8px;
border-top-left-radius: 8px;

Esquina superior derecha

-moz-border-radius-topright: 8px;
border-top-right-radius: 8px;

Esquina inferior derecha

-moz-border-radius-bottomright: 8px;
border-bottom-right-radius: 8px;

Esquina inferior izquierda

-moz-border-radius-bottomleft: 8px;
border-bottom-left-radius: 8px;

Esquinas superiores

-moz-border-radius-topleft: 8px;
-moz-border-radius-topright: 8px;
border-top-right-radius: 8px;
border-top-right-radius: 8px;

Diversos valores

border-radius: 10px 5px;
-moz-border-radius: 10px 5px;

El efecto de sombra lo logran jugando con las propiedades de los bordes

Como ven, es bien fácil de implementar. Si bien el renderizado de los bordes no es perfecto, está en fase experimental, y para bordes de poco tamaño es rentable.

Más información:
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dhtmltechcol/dndhtml/roundcorners.asp
http://www.w3.org/TR/2002/WD-css3-border-20021107/
http://blogs.msdn.com/ie/archive/2005/06/23/431980.aspx

5 Comentarios

  1. 5 enero 2007
    15:17 | #

    Muy buena información, ya la marqué para estudiarla bien

    ¿Nuevo diseño del sitio? Entré y casi salgo, creí­ que me habí­a equivocado. Eso me pasa por leer feeds en lugar de entrar en las páginas. Si te sirve de algo mi opinón, se ve mejor.

  2. 5 enero 2007
    20:59 | #

    Gracias, se aceptan correcciones y sugerencias, porque la verdad no se diseñar, me cuesta, todos los dí­as le cambio algo(beta). Le apliqué la técnica a los comentarios y mas o menos funciona. Si paso vergí¼enza con algo avisame. Me falta hacer el “blogroll” todaví­a.

  3. 10 mayo 2010
    17:39 | #

    Muy bueno, yo habia hecho un post sobre CSS3 pero se me paso poner el ms (el que va para IE8), gracias por la informacion.

  4. 5 noviembre 2010
    18:50 | #

    Excelente Informacion… Pero Realmente solo Funciona en algunos Exploradores…

  5. 9 noviembre 2010
    0:22 | #

    No falta mucho para que funcione en todos, ya que las últimas versiones de Firefox, Opera, Safari y Chrome ya lo soportan. Falta Intrernet Explorer, que en su versión 9 implementará también estas características y esta a poco de salir.

Escribir un Comentario

*
*