Revolviendo un poco el diseño de PHPBB3, encontré por allí una forma fácil para obtener bordes redondeados con CSS sin tener que recurrir a javascript.
Lo más interesante reside en las imágenes que utilizaremos. Éstas serán dos GIFs transparentes que, su color debe ir de acuerdo al fondo de nuestra página. Si el fondo es de color blanco, serían de la siguiente manera:
En donde el área oscura-cuadriculada es la región transparente.
El tamaño de la imagen, para que pueda ser apreciada es de 120 x120 px.
Necesitamos cortar la imagen en dos partes, quedando de la siguiente manera:
Ahora, dependiendo de que tan “redondeadas” quieres las esquinas, es el tamaño que le daremos a la imagen, el tamaño sugerido es de 12x6 px para cada una:
Lo sé, no las puedes ver, pero están allí . Las he llamado: "LC.gif" y "RC.gif" respectivamente.
Ahora en nuestro CSS necesitaremos lo siguiente:
Código :
/* Este es el contenedor al que le pondremos bordes redondos */ div.round{ width:300px; height:auto; background:#ECF5FF; } /* En este contenedor va todo lo que queremos mostrar. No le damos margen vertical puesto ese lo generarán los span del borde */ div.contenido{ margin:0 10px; } /* Generamos los estilos de las span, los cuales contendrán las imágenes GIF */ span.top, span.bottom{ width:100%; height:6px; /* El alto debe ser la mitad de alto de la imagen GIF */ display:block; } /* A continuación viene el verdadero truco, la posición de las imágenes de fondo es importante*/ span.top { background:url(LC.gif) top left no-repeat; } span.bottom{ background:url(LC.gif) bottom left no-repeat; } span.top span, span.bottom span{ width:6px; /* De acuerdo al tamaño de la imagen GIF */ height:6px; De acuerdo al tamaño de la imagen GIF */ float:right; font-size:6px; /* Esto es para IE6, que no respeta el height del span si el tamaño de letra es mayor a este */ } span.top span{ background:url(RC.gif) top right no-repeat; } span.bottom span{ background:url(RC.gif) bottom right no-repeat; }
Ahora en nuestra página utilizamos el estilo de la siguiente manera:
Código :
<div class="round"> <span class="top"><span></span></span> <div class="contenido"> Esto es el contenido del DIV con bordes redondeados </div> <span class="bottom"><span></span></span> </div>
Y esto es una muestra del resultado:
Las ventajas de hacerlo de esta forma es que:
- Puedes cambiar de color tu contenedor sin tener que cambiar las imágenes de los bordes.
- Puedes darle al contenedor ancho o alto relativos y no pierde su diseño.
- Incluso puedes dar un efecto de fondo degradado sin tener que cambiar las imágenes de los bordes. Por ejemplo:
- O puedes incluso utilizar un patrón de fondo y tampoco afecta.
Espero y les sirva.
Saludos.
¿Sabes SQL? ¿No-SQL? Aprende MySQL, PostgreSQL, MongoDB, Redis y más con el Curso Profesional de Bases de Datos que empieza el martes, en vivo.
Por ivanfc0o el 05 de Mayo de 2008
¡Buen tip!
Por sarape el 05 de Mayo de 2008
¿Se puede hacer algo parecido en una tabla para qué tenga los bordes exteriores redondeados?
Por Lunatic Lycanthrop el 05 de Mayo de 2008
Los bordes de nuestros cuadros redondeados se verán "cortados", lo que no es muy estético.
Se puede lograr lo mismo con png32, más el suavizado en los bordes, pero con la desventaja de la incompatibilidad en navegadores antiguos (entiéndase Ie6 y peores).
Una idea útil sería emplear condicionales para ie6, y una hoja alternativa donde se usen bordes en gif para sustituir los png32.
Buen tip
Por Anonimo el 06 de Mayo de 2008
Observen este sitio
http://www.roundedcornr.com/
los que se quieran ahorrar un poco de tiempo o simplemente estan con mucha prisa!!
El css que genera es el mismo que el del arriba.
Por Loon el 08 de Mayo de 2008
Por quien yo? el 10 de Mayo de 2008
=)
Por Juan el 13 de Julio de 2008
span.top span{
background:url(RC.gif) top right no-repeat;
}
por
span.top{
background:url(RC.gif) top right no-repeat;
}
Me aparecio el borde de superior derecho redondeado, pero obvio el izquierdo sup, desaparecio.
Alguien sabe q pasa?
Gracias de antemano
Por Olaznog el 24 de Septiembre de 2008
Creo descubrir el errorcillo de tipeo
height:6px; De acuerdo al tamaño de la imagen GIF */
falta un /* inicio de comentario
Saludos!
Por espidifen33 el 11 de Diciembre de 2008
Por Julito el 26 de Febrero de 2009
Por Lille el 15 de Abril de 2009
alguien me puede auxiliar?
muy ben tutorial, btw.
lille//poemsandreaders.info
p.d. otra cosota, en la pagina de un afiliado en sus imagenes para tutoriales de iconos, tiene un efecto asombroso en hover... creo q no me explico.. hehe.. bueno en un link- que es una imagen, la cual tiene un borde- cuando pasas tu mouse sobre ella, el borde se torna amarillo, alguien sabe como hacerlo?
Por il fass el 05 de Julio de 2009
Saludos
Por a.. el 22 de Julio de 2009
Por alfon el 25 de Noviembre de 2009
Pero se ve que funciona bien..
Por ezequiel el 27 de Enero de 2010
Saludos cordiales.
Por nelson el 14 de Junio de 2010
Por David el 17 de Junio de 2010
Alguien sabe porque?
Solo salen los de arriba.
Por dmouse el 21 de Junio de 2010
$("div").corner();
http://jquery.malsup.com/corner/
Por m3nd3z el 20 de Febrero de 2011
Por DAR el 16 de Abril de 2011
Por Serenav el 10 de Junio de 2011
Saludos
Por Javier velasquez el 05 de Diciembre de 2011
<script defer type="text/javascript" src="/scripts/pngfix.js"></script>
<![endif]-->
Por Pancho Opcionweb el 12 de Enero de 2012
http://www.opcionweb.com/index.php/2012/01/12/creadores-de-bordes-redondeados-css-online/
Un saludo.
Por [email protected] el 18 de Septiembre de 2013
Ejemplo:
<div id="Cuadrado" style="border-radius=5px; background:("RUTA DE LA IMAGEN");"> </div>
Por [email protected] el 18 de Septiembre de 2013
Hola.. hey para ponerle bordes redondeados puedes utilizar border-radius:
Ejemplo:
<div id="Cuadrado" style="border-radius:5px; background:("RUTA DE LA IMAGEN");"> </div>