Es verdad pero, hay ciertas cosas que sí funcionarán y para ser justos, habría que decir que en realidad, hay ciertas cosas que ya existían en Internet Explorer, desde su versión 5.5 y que recién ahora, los otros navegadores están incorporando. Obviamente, no se trata más que de alguna clase de casualidad pero, bienvenida sea ya que, con las limitaciones del caso, podemos aprovecharnos de ellas.
Ese es el caso de las gradientes, una forma excelente de usar el CSS para generar degradados y reemplazar el uso de ciertas imágenes.
Las gradientes pueden ser utilizadas en la mayoría de los navegadores y entre otras cosas, nos permiten generar botones de aspectos "sofisticados". Vamos a los ejemplos más sencillos donde la clave está en el uso de estas tres propiedades:
-moz-linear-gradient(); en Firefox
-webkit-gradient(); en Safari y Chrome
DXImageTransform.Microsoft.Gradient(); en Internet Explorer
Cada navegador tiene su regla y en este caso, son muy diferentes así que vamos a hacerlo de la manera más sencilla posible para que no haya diferencias. En IE, como se trata de un filtro que ya tiene muchos años de existencia, las posibilidades son menores así que nos basamos en ese modelo y creamos un botón, por ejemplo:
<a href="#" class="boton">mi botón</a>
.boton {
color: #FFF;
display: block;
font-family: Tahoma;
font-size: 40px;
height: 50px;
line-height: 50px;
position: relative;
text-align: center;
text-decoration: none;
width: 300px;
}
<a href="#" class="boton demo1">mi botón</a>
.demo1{
background-image: -moz-linear-gradient(100% 100% 90deg, #222222, #BBBBBB);
background-image: -webkit-gradient(linear, 0% 100%, 0% 0%,from(#222222), to(#BBBBBB));
filter: progid:DXImageTransform.Microsoft.Gradient(GradientType=0, StartColorStr='#BBBBBB', EndColorStr='#222222');
}
.demo1:hover{
background-image: -moz-linear-gradient(100% 100% 90deg, #222222, #DDDDDD);
background-image: -webkit-gradient(linear, 0% 100%, 0% 0%,from(#222222), to(#DDDDDD));
filter: progid:DXImageTransform.Microsoft.Gradient(GradientType=0, StartColorStr='#DDDDDD', EndColorStr='#222222');
}
Ahora, lo mismo pero con otros colores:
<a href="#" class="boton demo2">mi botón</a>
.demo2 {
background-image: -moz-linear-gradient(100% 100% 90deg, #220000, #FF0000);
background-image: -webkit-gradient(linear, 0% 100%, 0% 0%,from(#220000), to(#FF0000));
filter: progid:DXImageTransform.Microsoft.Gradient(GradientType=0, StartColorStr='#FF0000', EndColorStr='#220000');
}
.demo2:hover {
background-image: -moz-linear-gradient(100% 100% 90deg, #220000, #FF8800);
background-image: -webkit-gradient(linear, 0% 100%, 0% 0%,from(#220000), to(#FF8800));
filter: progid:DXImageTransform.Microsoft.Gradient(GradientType=0, StartColorStr='#FF8800', EndColorStr='#220000');
}
<a href="#" class="boton demo3">mi botón</a>
.demo3 {
background-image: -moz-linear-gradient(100% 100% 135deg, #FF3300, #FFFF00);
background-image: -webkit-gradient(linear, 100% 100%, 0% 0%,from(#FF3300), to(#FFFF00));
filter: progid:DXImageTransform.Microsoft.Gradient(GradientType=1, StartColorStr='#FFFF00', EndColorStr='#FF3300');
}
.demo3:hover {
background-image: -moz-linear-gradient(100% 100% 135deg, #FFFF00, #FF3300);
background-image: -webkit-gradient(linear, 100% 100%, 0% 0%,from(#FFFF00), to(#FF3300));
filter: progid:DXImageTransform.Microsoft.Gradient(GradientType=1, StartColorStr='#FF3300', EndColorStr='#FFFF00');color:#000 !important;
color: #000;
}
15 comentarios:
Efecto simple, práctico y elegante. Probando... :)
Gracias
Una beleza! sospecho que estás utilizando en el blog algo así?
Buen día Jmiur :D
Sí, es algo que también estoy usando :D
Gracias, simplificaste y justificaste mis días de esta semana. Léase: ¡¡sacaste un par de conejos de mi galera vacía!! GRACIAS DE NUEVO!!
¡¡Sigo en carrera, gentesssssssss!!
Tengo un problema, me funciona en Firefox y en Chrome (los dos navegadores que tengo instalados) pero no me funciona en IE (me vino con mi XP) no sé que hago mal he revisado el código mil veces y no sé porque en IE no funciona, pongo esto:
.Div{
background-image: -moz-linear-gradient(100% 100% 90deg, #222222, #BBBBBB);
background-image: -webkit-gradient(linear, 0% 100%, 0% 0%,from(#222222), to(#BBBBBB));
filter: progid:DXImageTransform.Microsoft.Gradient(GradientType=0, StartColorStr='#BBBBBB', EndColorStr='#222222');
}
todo eso después de y antes de ]]>
Hola! muy buen post, en verdad que muy sencillo :)
es pla primera ves que visito tu blog y en verdad quede fascinada :P
Felicidades por el blog y gracias por los consejos.
Buen día, sólo quiero decir: "que al que madruga dios lo ayuda" NO ES CIERTO
Martes malo, malo... Bye JMiur, probaré con otra cosa
:D
Hola JMiur! mi blog con los gradientes que explicas, quedó hecho una pinturita!! :) claro que si lo veo con firefox, porque me pasa lo mismo que Raúl, en el IE no se ve nada! jaja un asquete y eso que tengo el IE8. Los acepta en un post como fondo, pero no en los botones de la sidebar o en cuadritos que por ahi pongo.
Lo mismo que los bordes a pesar que escribo todo el código.
Qué bronca! tendré que sacar estos colores tan bonitos?
Un abrazo
Luz:
habría que ver caso por caso. En la sidebar, veo que lso títulos sestán perfecto. En los posts, vero, por ejemplo, que en un recuadro llamado ejemplo1, lo que hay es un error de sintaxis; dice:
filter: progid:DXImageTransform.Microsoft.gradient(GradientType=0,startColorstr=#660000;, endColorstr=#1e0000;);
y allí, hay dos puntos y comas erróneos después de los colores; debería ser:
filter: progid:DXImageTransform.Microsoft.gradient(GradientType=0,startColorstr=#660000, endColorstr=#1e0000);
Así, en generla, en IE, los filtros se aplican sólo a elementos de bloque es decir, que tengan una dimesión; eso puede ser otro problema en ciertas etiquetas.
Arreglado! me deberias prestar la lupa que usas para encontrar esos errores!!jaja Muchas gracias! ahora el cuadro se ve.
Con respecto a la sidebar con sus botones, debería verse si el código esta bien, no es así? porque el menú de arriba si se ve sin problemas y es el mismo de la sidebar! |O
El IE es...:X
Como los filtros funcionan sólo en ciertas condiciones, hay que verificar bien la sintaxis pero, también es posible que cierta etiqueta requiera que se coloque width height o bie position:relative. Son limitaciones importantes pero ... es lo que hay :-)
Luz:
Agrego algo al comentario.
El blog se ve fantástico :-D
:D aisss JMiur, siempre tan bondadoso!! ese fantástico vale lo que mil comentarios para cualquier bloguero!:P
naaaa en serio, tus explicaciones y los truquitos que nos enseñas hace q nuestros blog esten cada día más vistosos y funcionales!... jaja eso cuando blogger nos deja en paz! (o el IE q es una...:X )
bue, al final los botones los hice con una imagen, sino IE no me lo aceptaba, y eso q la pelee eh! y aproveche tu consejito de position y valores (alto y ancho) para ordenar mis cajitas!! Gracias!!!
Perfecto, Liz; cualquier método es válido.
Nada que agradecer; ese blog es el resultado del buen gusto y punto; el resto sólo son técnicas y poco más que eso :D
¿Quiere dejar un comentario?
recuerde que los comentarios están siendo moderados y serán publicados a la brevedad ...
Nota: sólo los miembros de este blog pueden publicar comentarios.
Si le gusta ir a lo seguro utilice este botón para abrir los comentarios en una ventana modal en esta misma pagina.
Si añora tiempos idos, use este enlace para agregar un comentario al viejo estilo ...