Página principal » Codificación » Gradientes lineales CSS3 [Consejos CSS3]

    Gradientes lineales CSS3 [Consejos CSS3]

    Gradiente Es una gran adición de características de color en CSS3. En lugar de solo agregar un solo color, ahora podemos agregar múltiples combinaciones de colores en un bloque de declaración sin depender de las imágenes, lo que podría disminuir la solicitud HTTP en nuestro sitio web permitiendo que el sitio web se cargue más rápido.

    Si ha jugado con gradientes en CSS3, probablemente esté familiarizado con los dos métodos: gradiente radial y lineal. El post de hoy será sobre este último..

    Creando Gradientes

    Como la especificación dice que los gradientes en CSS3 son una imagen, no tiene propiedades especiales como la adición de otras características nuevas, por lo que se declara usando la imagen de fondo propiedad en cambio.

    Si echamos un vistazo a la sintaxis completa para gradiente, se ve un poco sobrecargado, lo que podría llevar a confusión para algunas personas.

     div imagen de fondo: -webkit-linear-gradient (arriba, # FF5A00 0%, # FFAE00 100%); imagen de fondo: -moz-lineal-gradiente (arriba, # FF5A00 0%, # FFAE00 100%); imagen de fondo: -ms-lineal-gradiente (arriba, # FF5A00 0%, # FFAE00 100%); imagen de fondo: -o-lineal-gradiente (arriba, # FF5A00 0%, # FFAE00 100%); imagen de fondo: gradiente lineal (arriba, # FF5A00 0%, # FFAE00 100%);  

    Así que vamos a profundizar en cada parte de la sintaxis una por una para aclarar las cosas.

    En primer lugar, el gradiente lineal se declara con la gradiente lineal() función. La función tiene tres valores primarios. El primer valor define la posición de inicio del gradiente. Puede utilizar una palabra clave descriptiva, como parte superior para iniciar el gradiente que fluye desde el parte superior;

     div imagen de fondo: gradiente lineal (arriba, # FF5A00, # FFAE00);  

    El fragmento anterior es la versión oficial de W3C para crear gradientes. En realidad, es más simple y se explica por sí mismo, y también creará el siguiente gradiente.

    También puedes usar fondo hacer lo contrario, o bien Correcto y izquierda.

    También podemos crear un gradiente diagonal usando grado del ángulo como la posición inicial del gradiente. Aquí hay un ejemplo:

     div imagen de fondo: gradiente lineal (45 grados, # FF5A00, # FFAE00);  

    El fragmento anterior creará el siguiente gradiente de color:

    El segundo valor de la función le dirá al primer color información y su posición de parada que se expresa en porcentaje. La posición de parada en realidad es opcional; el navegador es lo suficientemente inteligente como para determinar la posición correcta, por lo que cuando no especifiquemos el primer color, el navegador tomará 0% como el predeterminado.

    Y, el siguiente valor es el segundo color combinación. Funciona como el valor anterior, solo que si es el último color aplicado, y no especificamos el posición de parada, un valor de 100% será tomado como el predeterminado. Ahora, veamos el siguiente ejemplo:

     div imagen de fondo: gradiente lineal (arriba, # FF5A00 0%, # FFAE00 100%);  

    El fragmento anterior creará un degradado como el que vimos anteriormente (sin diferencias), pero ahora especificamos la posición de detención del color;

    Ahora vamos a cambiar el parada de color, y esta vez vamos a especificar 50% para el primer color y 51% para el segundo color, y veamos cómo resulta;

     div imagen de fondo: gradiente lineal (arriba, # FF5A00 50%, # FFAE00 51%);  

    Transparencia

    Creando transparencia en gradiente también es posible. Para crear el efecto necesitamos traducir el color. maleficio dentro rgba modo y bajar el canal alfa.

     div imagen de fondo: gradiente lineal (arriba, rgba (255,90,0,0.2), rgb (255,174,0,0.2));  

    El fragmento anterior disminuirá la intensidad del color en 20%, y el gradiente resultará así:

    Múltiples colores

    Si desea agregar más colores, simplemente agregue los colores uno al lado del otro con un delimitador de coma y deje que el navegador determine cada posición de parada de color.

     div imagen de fondo: gradiente lineal (superior, rojo, naranja, amarillo, verde, azul, índigo, violeta);  

    El fragmento anterior creará el siguiente arco iris.

    Compatibilidad del navegador

    Desafortunadamente, en el momento de escribir este artículo, todos los navegadores actuales aún tienen que soportar la sintaxis estándar. Todavía necesitan el prefijo del vendedor (-webkit-, -moz-, -Sra- y -o-). Entonces, es por eso que la sintaxis completa aparece así:

     div imagen de fondo: -webkit-linear-gradient (arriba, # FF5A00 0%, # FFAE00 100%); imagen de fondo: -moz-lineal-gradiente (arriba, # FF5A00 0%, # FFAE00 100%); imagen de fondo: -ms-lineal-gradiente (arriba, # FF5A00 0%, # FFAE00 100%); imagen de fondo: -o-lineal-gradiente (arriba, # FF5A00 0%, # FFAE00 100%); imagen de fondo: gradiente lineal (arriba, # FF5A00 0%, # FFAE00 100%);  

    Por otro lado, Internet Explorer, específicamente la versión 9 e inferior, está lejos del estándar. El gradiente en IE9 y abajo se declara con filtrar, así que si queremos agregar gradiente en esos navegadores, tenemos que escribir algo como esto;

     div filter: progid: DXImageTransform.Microsoft.gradient (startColorstr = # FF5A00, endColorstr = # FFAE00);  

    los filtrar tiene sus limitaciones: primero, no permite agregar más de tres colores, y crear el efecto de transparencia también es un poco complicado, no permite rgba, pero el IE filtrar usos #ARGB;

     div filter: progid: DXImageTransform.Microsoft.gradient (startColorstr = # 33FF5A00, endColorstr = # 33FFAE00);  

    Aquí hay una herramienta para ayudarte a convertir rgba a #ARGB.

    • Manifestación
    • Descargar fuente

    Escribir la sintaxis más rápido

    Como puede ver arriba, para poder mantener la compatibilidad del gradiente en los navegadores, necesitamos agregar cinco líneas más de códigos, lo cual es ineficiente..

    Hay muchas formas en que podemos hacer para simplificar la tarea; como el uso de Prefix-free, Prefixr, LESS o Sass para ayudar a compilar los códigos, pero sobre todo, recomendamos usar esta herramienta, ColorZilla Gradient. Esta herramienta simplemente generará todos los códigos necesarios para que los gradientes funcionen en todos los navegadores.

    Ultimas palabras

    Hoy hemos discutido bastante sobre la creación de gradientes, hemos examinado cada parte de la sintaxis, creando efectos transparentes y manteniendo la compatibilidad del navegador. Entonces, en este punto, esperamos que ya tenga un mejor entendimiento sobre el tema.

    Todavía hay muchas cosas que planeamos explorar en Gradientes CSS3 en nuestras publicaciones futuras, así que estad atentos a Hongkiat.com. Por último, gracias por leer este post, esperamos que lo hayan disfrutado..

    Otras lecturas

    • Fondos de RGBA de navegador cruzado a prueba de balas - Lea Verou
    • Imagen CSS3 - W3.org
    • ¿Cuándo puedo usar los gradientes de CSS3 - CanIUse.com