dominios y alojamiento web en hostalia

Bordes redondeados en CSS 3

10 de July de 2008
Valoración del artículo:
Las características de CSS 3 incluyen bordes redondeados, a través del atributo border-radius, que define la curvatura que debe tener el borde del elemento.
CSS 3 incorpora nuevas propiedades para el control de bordes de los elementos. Ahora se permiten bordes con las esquinas redondeadas, bordes con imágenes (incluso varias imágenes se pueden utilizar para definir el aspecto del borde), sombras, etc.

En este artículo vamos a explicar cómo realizar bordes redondeados con CSS3.

Tenemos la propiedad border-radius, que permite definir bordes redondeados en las esquinas, especificando las medidas del radio que deben darse a la curva de las esquinas. Su uso sería aproximado al que vemos a continuación:

border-radius: 5px;

Definiría un radio de 5 píxeles en el redondeo de las esquinas del elemento. Por el momento Mozilla ha adoptado este atributo con un nombre especial, que es válido para productos como Firefox, mientras que las especificaciones de CSS3 no hayan alcanzado el estado "Candidate Recommendation", que es cuando se supone que los distintos navegadores deben implementarlas. El nombre del atributo por el momento es:

-moz-border-radius

Los navegadores basados en WebKit, como Google Chrome o Safari, también soportan las esquinas redondeadas de CSS 3, pero el atributo border-radius tampoco funciona directamente, como en el caso de Firefox, sino que hay que utilizar un "alias": -webkit-border-radius.

Por lo que respecta a Internet Explorer hay que decir que todavía no soporta este atributo de CSS 3, pero esperemos que los chicos de Microsoft lo puedan implementar pronto en el navegador, o que las especificaciones de CSS3 pasen rápido al estado "Candidate Recommendation", que sería el llamamiento para que se implementen en la generalidad de los navegadores.

Por el momento, para navegadores Mozilla y WebKit que son los primeros en adaptarse a CSS3, podemos utilizar el atributo border-radius de la siguiente manera:

DIV {
border: 1px solid #000000;
-moz-border-radius: 7px;
-webkit-border-radius: 7px;
padding: 10px;
}


Con esto conseguimos que todos los div tengan un borde redondeado en las esquinas de radio de 7 píxeles. Fijarse en el uso de los atributos -moz-border-radius y -webkit-border-radius, que sirven para lo mismo, pero en navegadores basados en Mozilla y basados en WebKit.

Podemos ver el ejemplo en una página aparte. Pero recordar que sólo se verá el efecto utilizando Firefox o navegadores basados en Mozilla.

Pero el atributo border-radius tiene otras posibles configuraciones, en la que se pueden definir los valores para el radio de las cuatro esquinas por separado. De esta manera:

-moz-border-radius: 7px 27px 100px 0px;

Así estaríamos definiendo un borde redondeado con radio de 7 pixel para la esquina superior izquierda, luego 27px para la esquina superior derecha, de 100px para la inferior derecha y 0px para la inferior izquierda. (Hay que explicar que un border-radius de 0px es un borde con esquina en ángulo recto)

Podemos ver este ejemplo en una página aparte.

Los bordes redondeados con CSS 3, como se podrá imaginar, sólo se ven si se tiene definido algún borde visible al elemento que se los asignamos, ya sea solid, dotted, etc. Eso es lo que definen las especificaciones de CSS3, aunque en el momento de escribir el artículo debo señalar que incluso Mozilla o Firefox (el único que por ahora soporta este atributo de CSS3) no funciona del todo correctamente con esto y sólo muestra los bordes redondeados con solid.

Otra cosa que definen las especificaciones de CSS y que por el momento no está funcionando del todo bien, es que las imágenes de fondo deben ajustarse a los bordes redondeados. Ocurre, por el momento, que las imágenes de fondo salen por fuera de los bordes redondeados. Confiamos en que en el futuro esto pueda ser revisado y optimizado, para que todo funcione correctamente. Debemos recordar que en el momento de escribir el artículo todavía se tienen que terminar de definir las especificaciones de CSS 3 y después, los navegadores web deberán actualizarse en un cierto espacio de tiempo para soportarlas completamente.

Nota: Ofrecimos una lista de las características principales de CSS 3 en el artículo Introducción a CSS3.

Compartir en redes sociales

Comentarios
Fueron enviados 15 comentarios al artículo
5 comentarios no revisados
10 comentarios revisados:
compatibilidad
Por: Eduardo
22/8/2009
actualmente el atributo lo aceptan desde safari 3 y opera 9.1 tambien, yo les recomendaria descargar safari o firefox.
Obsoleto por el momento
Por: nublar
15/10/2009
Cita:
"Pero recordar que sólo se verá el efecto utilizando Firefox o navegadores basados en Mozilla."

Entonces es algo totalmente obsoleto, no podemos hacer una pagina que solo la vea Firefox...... para hacer esto hay muchos metodos que son compatibles con la mayoria de navegadores
Opera aún no lo reconoce
Por: Carlos Eugenio
03/11/2009
Siento contradecir el comentario de arriba en cuanto a Opera. Yo estoy usando Opera 9.64 y al ver los ejemplos no reconoce las esquinas redondeadas.
bordes
Por: laura
04/4/2010
yo no lo pude ver con el chrome... :(
Obsoleto no es, sino todo lo contrario
08/7/2010
Hola,

El comentario que titulan "obsoleto por el momento" habría que matizarlo, porque no puedes llamarle obsoleta a esta técnica, sino todo lo contrario.

Obsoleto es algo que ya no se usa o está desfasado, pero estas técnicas de CSS 3 aun están por llegar, a día de hoy. No todos los navegadores las implementan, pero en breve lo harán. Así que es algo que podremos utilizar libremente de aquí a poco tiempo. Mientras tanto, al menos podemos practicar y apreciar los resultados de lo que está por venir, en navegadores más modernos.

Si alguien lo desea utilizar está en su derecho y al menos funcionará en los navegadores más avanzados (osea, todos menos Internet Explorer).

Maxx48
Obsoleto?
21/8/2010
No creo que redondear esquinas desde CSS sea un recurso obsoleto. Al contrario. Os acordáis de la cantidad de código y trucos con div's e imágenes que habia que utilizar para representar esquinas redondeadas o crear sombras? En cambio ahora con una sola línea de código CSS es suficiente.
En cuanto a los navegadores, mientras el código no esté liberado por los "controladores" del lenguaje, cada navegador utiliza su código privado: "border-radius: #px #px #px #px;" precedido por "-webkit-" para Chrome y Safari, "-moz-" para Firefox y nada para los demás navegadores que lo soporten, incluido Opera. He visto en algun sitio el prefijo "-o-", pero no sé a qué navegadores va dirigido. Sobre iExplorer, ni idea.
Funciona en Firefox y en Chrome probado
Por: SK
15/12/2010
con este codigo
DIV {
border: 1px solid #000000;
-moz-border-radius: 7px;
-webkit-border-radius: 7px;
padding: 10px;
/*-moz-border-radius: 7px 27px 100px 0px; -- para definir el borde por esquina*/
}

Funciona bien en Chrome y Firefox

xxhegex...
Distiintos navegadores
12/7/2011
el border radius ya puede utilizarce en IE pero solo en la version ) es una pena que en las anteriores no se pueda usar para FIrefox es el moz para chrome y safari es el webkit y para el ie 9 solo el nombre estandar no necesita ninguna preposicion si en estos ejm no se ven en navegadores como el IE 9 o el chrome es porq el codigo en css solo esta con la preposicion moz que lo soporta unicamente el firefox
Funcionando con Opera
27/9/2011
ciertamente no lo tengo comprobado, pero al parecer en Opera también funciona
el codigo seria el siguiente:

-o-border-radius

CESARDE...
Funciona en IE 9, Firefox y Chrome
29/1/2012
Actualmente funciona en estos navegadores. Yo probé con "border-radius: 8px;" y funciona en los 3 navegadores, sin -moz- ni -webkit-.

Manuales relacionados
Categorias relacionadas
El autor
Últimas noticias
Donaciones
Si piensas que te hemos ayudado y merecemos tu apoyo económico...