CSS: Modelo de color RGB
Durante el curso, nos hemos encontrado con propiedades cuyos valores son colores. Estas propiedades son:
color
background-color
border-color
Para representar un color, se utiliza el modelo RGB hexadecimal, que significa Red Green Blue. En CSS, hay dos formas principales de representar un color en RGB:
- Hexadecimal: se utiliza una notación de 6 caracteres divididos en tres bloques de dos valores. Cada bloque representa uno de los colores: rojo, verde o azul
- Utilizando la función
rgb(red, green, blue)
. Esta función acepta tres números del 0 al 255, que representan la cantidad de rojo, verde y azul respectivamente
Notación hexadecimal
Al utilizar esta notación, se utiliza el sistema hexadecimal. La notación se divide en tres bloques de dos números:
- de
00
aff
- cantidad de color rojo - de
00
aff
- cantidad de color verde - de
00
aff
- cantidad de color azul
/* Color blanco */
color: #ffffff;
/* Color negro */
color: #000000;
Supongamos que necesitamos el color violeta para un texto. ¿Cómo se obtiene? Para ello, se mezcla el color rojo y el color azul. El color violeta no tiene color verde. Por lo tanto, se necesita la máxima cantidad en el primer y tercer bloque. El resultado es el color #ff00ff
Se pueden obtener diferentes variaciones de este color, aumentando o disminuyendo la cantidad de los colores componentes
Función rgb
La segunda forma de especificar un color utilizando el modelo de color RGB es mediante el uso de la función rgb()
. Esta función acepta tres números del 0 al 255, donde el primer número representa la cantidad de rojo, el segundo número representa la cantidad de verde y el tercer número representa la cantidad de azul. ¿Te suena familiar?
Si piensas que esto se parece al sistema hexadecimal, tienes toda la razón: es exactamente lo mismo. Solo que los colores se escriben en números decimales en lugar de hexadecimales. Por lo demás, todo es igual, lo que significa que se puede crear el color violeta utilizando la función rgb()
:
<p class="text">Texto de color violeta</p>
.text {
color: rgb(255, 0, 255);
}
Y así es como se verían el color blanco y el color negro utilizando la función rgb()
:
/* Color blanco */
color: rgb(255, 255, 255);
/* Color negro */
color: rgb(0, 0, 0);
Transparencia y función rgba()
Al utilizar un color de fondo, a menudo se agrega transparencia al color. En el modelo de color RGB, esto se logra utilizando el concepto de canal alfa. Este determina el nivel de transparencia del color y se especifica con un número del 0 al 1, donde 0 es completamente transparente y 1 es completamente opaco.
Para utilizar el canal alfa, se utiliza la función rgba()
, donde a
representa alfa
. Por lo demás, todo es igual que antes. Creemos un fondo violeta semitransparente:
<div class="background">Bloque con fondo violeta semitransparente</div>
.background {
background-color: rgba(255, 0, 255, 0.5);
}
Tarea
Crea un párrafo con la clase background-black-50
y establece un fondo semitransparente negro. Utiliza la función rgba()
. Escribe los estilos dentro de la etiqueta <style>
¿El ejercicio no pasa la prueba, qué debo hacer? 😶
Si te quedaste atascado, es el momento perfecto para hacer una pregunta en las "Discusiones".
* Asegúrate de incluir la salida de las pruebas. Sin ella, es casi imposible entender qué está mal, incluso si muestras tu código. Los programadores tienen dificultades para ejecutar el código en su mente, pero casi siempre es posible entender a dónde mirar a partir del error que recibiste.
Mi código funciona en mi entorno, pero no aquí 🤨
Las pruebas están diseñadas de manera que verifican la solución de diferentes maneras y con diferentes datos. A menudo, una solución funciona con ciertos datos de entrada pero no con otros. Para entender este punto, revisa la pestaña "Pruebas" y presta atención a los mensajes de error, que suelen contener pistas.
Mi código es diferente a la solución del profesor 🤔
Esto es normal 🙆. En programación, una tarea puede tener muchas soluciones diferentes. Si tu código pasa la prueba, cumple con los requisitos de la tarea.
En raras ocasiones, la solución puede estar ajustada para pasar las pruebas, pero esto suele ser evidente.
Leí la lección, pero no entendí nada 🙄
Crear materiales de aprendizaje comprensibles para todos es bastante difícil. Hacemos nuestro mejor esfuerzo, pero siempre hay margen para mejorar. Si encuentras material que no entiendes, describe el problema en las "Discusiones". Es ideal si puedes formular los aspectos que no entiendes en forma de preguntas. Por lo general, necesitamos unos días para hacer mejoras.
Por cierto, tú también puedes contribuir a mejorar los cursos: en la parte inferior hay un enlace al código fuente de las lecciones, que se puede modificar directamente en el navegador.