Foros del Web » Creando para Internet » CSS »

[SOLUCIONADO] Degradados(gradientes) para IE y navegadores viejos

Estas en el tema de Degradados(gradientes) para IE y navegadores viejos en el foro de CSS en Foros del Web. Dada la controversia actual entre si mi navegador soporta o no las nuevas características de de CSS3, y basado en mi experiencia generada por hacer ...
  #1 (permalink)  
Antiguo 16/02/2012, 19:24
Avatar de alrvivas  
Fecha de Ingreso: febrero-2012
Ubicación: Sahuayo,Mich., México
Mensajes: 11
Antigüedad: 12 años, 9 meses
Puntos: 0
Información Degradados(gradientes) para IE y navegadores viejos

Dada la controversia actual entre si mi navegador soporta o no las nuevas características de de CSS3, y basado en mi experiencia generada por hacer un sitio "lindo" con estas nuevas tecnologías me di a la tarea de investigar como hacer para que todos los navegadores tengan soporte con los gradientes CSS3, lo cual @freddier y @cvander en uno de sus vídeos mencionas como hacer compatible nuestra web con cualquier navegador y mencionan "modernizr.js" una librería que nos ayudara en este ejemplo.

¿Qué es Modernizr.js?

a grandes rasgos Modernizr.js es una librería que nos indica si nuestro navegador tiene soporte con esas tecnologías nuevas que trae con sigo HTML5 pueden descargar la versión de producción en [URL="http://www.modernizr.com/"]http://www.modernizr.com/[/URL] que es la que necesitamos para este ejemplo dado que la versión de desarrollo no tiene el método modernizr.load() que es el que necesitamos.

Si desean saber mas de modernizr.js les recomiendo el manuel de Miguel Angel Alvares en [URL="http://www.desarrolloweb.com/manuales/manual-modernizr.html"]http://www.desarrolloweb.com/manuales/manual-modernizr.html[/URL]

¿Cómo Funciona?

Primero que nada hay que importar nuestra libreria como cualquier otra.

Código:
<script src="js/modernizr.js"></script>
Modernizr.js agrega en este caso la clase cssgradientst a nuestra etiqueta <html> de manera automática si este tiene soporte.

Código:
<html lang="es" class="cssgradients">
Este que es el mejor de los casos solo deberíamos de cargar nuestra hoja de estilos con nuestros degrados.

En el caso contrario que es el caso interesante de este tema necesitamos cargar polyfills, que son librerías adicionales para incorporar las características de HTML5 cuando el navegador no tiene soporte nativo para estas.

Código:
<script type="text/javascript">
	Modernizr.load({
   	test: Modernizr.cssgradients ,
   	nope: ['modernizr/style.css'],
	both: ['css/style.css' ]	
	});
</script>
test:// verifica si el navegador tiene soporte con dicha clase
nope:// si no tiene soporte carga dicho archivo
both:// carga los archivos cuando el navegador tiene soporte y cuando no

Ahora necesitamos cargar nuestro polyfills a nuestra hoja de estilos para navegadores que no tengan soporte,aqui pueden encontrar la libreria[URL="http://css3pie.com/"]http://css3pie.com/[/URL]

modernizr/style.css
Código:
.degradado {	
	background: #a37b50;
	-pie-background: linear-gradient(#a37b50, #2b1300);
	behavior: url(modernizr/PIE.php);		
}
El archivo PIE.php hace referencia a el archivo PIE.htc recomiendo cargar el archivo php para no modificar el .htaccess del servidor.

NOTA:La ruta del archivo debe de ser referente al archivo html y no con respecto de la hoja de estilos.

Generamos también nuestros degradados para loa navegadores que si tienen soporte nativo.

css/style.css
Código:
.degradado {
background: -webkit-gradient(linear, 0 0, 0 bottom, from(#a37b50), to(#2b1300));
background: -webkit-linear-gradient(#a37b50, #2b1300);
background: -moz-linear-gradient(#a37b50, #2b1300);
background: -ms-linear-gradient(#a37b50, #2b1300);
background: -o-linear-gradient(#a37b50, #2b1300);
background: linear-gradient(#a37b50, #2b1300);	
}
y ahora implementamos lo hecho hasta ahora

Código:
<div class="degradado">Gradientes para todos</div>
y final mente nos queda algo asi:

Código:
<!DOCTYPE html>
<html lang="es">
       <head>
       <script src="js/modernizr.js"></script>
       <script type="text/javascript">
	       Modernizr.load({
               test: Modernizr.cssgradients ,
   	       nope: ['modernizr/style.css'],
	       both: ['css/style.css' ]	
	       });
       </script>
       </head>
       <body>
              <div class="degradado">Gradientes para todos</div>
       </body>
</html>
Espero les aya servido de algo. Excelente día para todos
  #2 (permalink)  
Antiguo 16/02/2012, 23:04
 
Fecha de Ingreso: mayo-2011
Mensajes: 167
Antigüedad: 13 años, 6 meses
Puntos: 6
Respuesta: Degradados(gradientes) para IE y navegadores viejos

esta bueno gracias
  #3 (permalink)  
Antiguo 17/02/2012, 11:19
Avatar de alrvivas  
Fecha de Ingreso: febrero-2012
Ubicación: Sahuayo,Mich., México
Mensajes: 11
Antigüedad: 12 años, 9 meses
Puntos: 0
Respuesta: Degradados(gradientes) para IE y navegadores viejos

De nada para eso estamos, cual quier otro tema que necesites y si puedo ayudarte con gusto lo are.

Para los que han seguido el post aqui les dejo la segunda parte de este tema [URL="http://www.forosdelweb.com/f13/degradados-gradientes-para-ie-navegadores-viejos-976939/"]Degradados(gradientes) para IE y navegadores viejos[/URL] pero ahora trabajando con JacaScript

Última edición por alrvivas; 20/02/2012 a las 00:09
  #4 (permalink)  
Antiguo 19/04/2012, 09:04
 
Fecha de Ingreso: enero-2012
Ubicación: Tenerife
Mensajes: 26
Antigüedad: 12 años, 9 meses
Puntos: 0
Respuesta: Degradados(gradientes) para IE y navegadores viejos

No se puede poner radios diferentes a cada vértice, verdad?
  #5 (permalink)  
Antiguo 19/04/2012, 15:49
Avatar de alrvivas  
Fecha de Ingreso: febrero-2012
Ubicación: Sahuayo,Mich., México
Mensajes: 11
Antigüedad: 12 años, 9 meses
Puntos: 0
Respuesta: Degradados(gradientes) para IE y navegadores viejos

Si te refieres a poner en cada esquina un borde diferente, claro que se puede:
Código HTML:
-moz-border-radius: 10px 22px 50px 99px;
-webkit-border-radius: 10px 22px 50px 99px;
border-radius: 10px 22px 50px 99px;
te recomiendo ver esta herramienta http://css3.me/
  #6 (permalink)  
Antiguo 19/04/2012, 15:55
 
Fecha de Ingreso: enero-2012
Ubicación: Tenerife
Mensajes: 26
Antigüedad: 12 años, 9 meses
Puntos: 0
Respuesta: Degradados(gradientes) para IE y navegadores viejos

Si, sé que se puede, me refería con lo que comentas en .... creo que leí otro artículo y a saber por qué respondí aquí. PERDÓN!!! jeje

Etiquetas: css3, modernizr
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 06:12.