Alejandra Hincapie
linear-gradient(207.8deg, #201E1C 16.69%, #F7931A 100%);```
Fabio Gomez
Gracias por el aporte, yo al no conocer bien la herramienta Figma no sabia donde encontrar el código.
Victor Andres Castillo Zambrano
gracias
Aplicar estilos visuales a un header directamente desde un diseño en Figma es una de las tareas más comunes al maquetar una página web. Saber extraer colores, tamaños de fuente y propiedades tipográficas del diseño para traducirlos a CSS marca la diferencia entre un resultado profesional y uno improvisado. A continuación se explica paso a paso cómo agregar un fondo degradado al header, estilizar el H1 y el párrafo, y preparar el terreno para un botón flotante.
¿Cómo aplicar un linear gradient como fondo del header?
El fondo del header en el diseño no es un color sólido, sino un degradado que mezcla dos colores de forma difuminada. En CSS esto se logra con linear gradient [0:12], una función que permite definir una transición suave entre dos o más colores.
Desde Figma, al seleccionar la sección del header, se pueden identificar los colores base del degradado. La herramienta incluso ofrece el código del linear gradient listo para copiar. Al pegarlo en la propiedad background del header, el resultado es inmediato:
En este caso, un porcentaje menor de negro y uno mayor de naranja generan el efecto visual del diseño [1:22].
¿Qué propiedades CSS se usan para estilizar el H1?
Con el fondo listo, el siguiente paso es igualar la tipografía del H1 a lo que muestra Figma. Pero antes de escribir los estilos, se aplica un criterio de especificidad [3:24]: en lugar de seleccionar solo la etiqueta h1, se antepone la clase del header (.header h1). Esto evita conflictos futuros si se integra una librería como Bootstrap que podría sobrescribir estilos genéricos de h1. La especificidad resultante es 0-1-1, más alta que la de una simple etiqueta.
Las propiedades aplicadas al H1 son:
font-size: 2.4rem — equivale a veinticuatro píxeles [4:10].font-weight: bold — le da el aspecto grueso que se ve en el diseño.line-height: 2.6rem — define la altura entre líneas, es decir, la dimensión vertical que ocupa cada renglón de texto [4:30]. Esto permite controlar el espaciado interno del texto sin recurrir a padding.color: var(--just-white) — se reutiliza una variable CSS previamente definida para el color blanco.El line height [5:10] es una propiedad que muchas veces se pasa por alto, pero resulta fundamental para la legibilidad. Controla la altura de la caja de cada línea de texto y permite ajustar el espacio visual entre renglones.
¿Cómo se estiliza la etiqueta de párrafo del header?
Siguiendo la misma lógica de especificidad, el párrafo se selecciona con .header p. Las propiedades extraídas de Figma son:
margin-top: 25px — separa el párrafo del H1 para que no queden pegados [6:20].font-size: 1.4rem — catorce píxeles.font-weight: 500 — un peso intermedio, ni regular ni bold [6:40].line-height: 1.8rem — dieciocho píxeles de altura de línea.color: var(--soft-orange) — otro color almacenado como variable CSS.El uso de variables CSS para los colores garantiza consistencia en todo el proyecto y facilita cambios globales con una sola modificación.
¿Qué es un botón flotante y por qué requiere position?
El diseño incluye un botón que no pertenece a ningún contenedor específico, sino que se ubica entre dos secciones. Esto crea la sensación visual de que el botón está flotando [7:40]. Para lograr este efecto en CSS se utiliza la propiedad position, que permite sacar un elemento del flujo normal del documento y colocarlo en coordenadas precisas.
Con el degradado del header, la tipografía del H1 y el párrafo ya igualados al diseño de Figma, el siguiente reto es dar forma a ese botón flotante. ¿Has trabajado antes con position: absolute o position: relative para ubicar elementos entre secciones? Comparte tu experiencia.
Alejandra Hincapie
linear-gradient(207.8deg, #201E1C 16.69%, #F7931A 100%);```
Fabio Gomez
Gracias por el aporte, yo al no conocer bien la herramienta Figma no sabia donde encontrar el código.
Victor Andres Castillo Zambrano
gracias
Sneyder Barreto
Una excelente herramienta para trabajar con gradients: CSS Gradient.
Arturo Mauricio Terceros Beltrán
Con esto podemos convertir los diferentes formatos de color. https://www.peko-step.com/es/tool/tfcolor.html
Victor Andres Castillo Zambrano
gracias
Royer Guerrero Pinilla
Jesus Velasco
Gracias!, la aplique a mi deseno. oye donde puedo aprender a hacer cosas asi de geniales? o.o
Royer Guerrero Pinilla
Poco a poco lo hiras aprendiendo conociendo recursos sigue en instagram, twitter, reddit personas que aporten cosas asi hay muchos busca en internet y poco a poco en cuanto mas te empapes más aprendes todas estas cosas
Revisa el curso de animaciones para la web
En el gradiente ya podemos utilizar nuestras variables:
background: linear-gradient(207.8deg, var(--warm-dark) 16.69%, var(--bitcoin-color) 100%);
Joel Dominguez Merino
Wilkins Bernardo Brito Serrano
Qué bueno que publicaste tu código, me sirvió mucho para detectar un error muy pequeñito, pero que ya me tenía desesperado. Muchas gracias
fermin martin
Hola! 👋 Para mí line-height NO modifica la altura de la tipografía sino la distancia entre la ++línea base++ de las palabras (cuando estas se colocan una encima de otra).
Exceleeente curso!😃
Oyuki Collado Velasco
Vendría siendo el interlineado me parece
Juan Camilo Valencia Silva
Exactamente! Es el interlineado 🤟🏻
Obed Paz
creo que empezare a aprender Figma, es increible lo sencillo que podemos ir pasando de diseño a codigo teniendo ya un prototipo del proyecto. :0
Elizabeth Ordinola
Aprendiste a usarlo, me lo recomiendas? porque también quiero aprender.
Rafael Martínez Rodríguez
Justo venía pensando lo mismo, va uno un poco mas centrado en lo que va desarrollando.
Camilo Duque
Jonathan Castillo Flores
Gracias por la aclaración Camilo. 😁
Ruth Lucy Campos Huamantica
Una colección seleccionada de hermosos degradados de color. 👉🏻👉🏻
Jesus Velasco
una joya!, gracias :3
Jorge Calzada
Increíble el aporte!
Juan Jiménez
Jose Luis Grande Acevedo
Se le dice botón flotante porque no esta dentro de una sección o un contenedor, sino esta entre dos contenedores.
Leonardo Esteban Omeara Garzon
Cada vez el desarrollo web empieza a tener mas sentido en cuanto al posicionamiento de los elementos, colores y en general de todo. Un buen truco que uso es antes de que el profesor diga los estilos que van, tratar de implementarlos por mi mismo para poder entender el porque de cada uno y que no se vuelva algo sistemático.
Iván Arcos
Ahí vamos avanzando
Julián Ramírez
Tenía entendido que a nivel de color las propiedades background y background-color eran lo mismo pero al intentar poner el ++gradient++ sobre esta última no lo lee. ¿Alguien sabe por qué pasa esto? (Y si sí se le llaman propiedades).
Carlos Eduardo Gomez García
¡Hola! No son lo mismo, background es más flexible y te permite ponerle más cosas a la propiedad, background-color es solo eso, un único color de background, no más, no menos
Pat Villarroel
Sergio Corzo
Tenia un problema con el font-size. Al revisar para corroborar el tamaño de fuente el inspector de elementos me daba un font-size de 15.75px. No entendía porque me arrojaba esa cantidad. Los navegadores, la mayoría, por defecto tiene 16px como tamaño de fuente. Le di varias vueltas al asunto sin hallar la respuesta de porque pasaba esto. Fue hasta que se me ocurrió revisar la configuración del navegador. Lo tenia configurado en 18px. Estaba a punto de odiar rem. Coclusión: Revisar la configuración del navegador antes de empezar a usar rem.
Aarón González
Tambien lo pueden guardar en el :root del CSS y ya luego lo agregan
:root { /* Colors */ --linear-BG: linear-gradient(207.8deg, #201e1c 16.69%, #f7931a 100%); --bitcoin-orange: #f7931a; --soft-orange: #ffe9d5; --secondary-blue: #1a9af7; --soft-blue: #e7f5ff; --warm-black: #201e1c; --warm-black1: #282623; --grey: #bababa; --off-white: #faf8f7; --just-white: #ffffff; /* Typefaces */ --font-primary: "DM Sans"; --font-secondary: "Inter"; }
Hernán David Mercado Fernández
Es recomendable que se evite copiar el codigo del background y tratar de escribir en el css para que la memoria muscular mejore.
Jonathan Castillo Flores
Totalmente cierto. Gracias Hernán.
Jose Fernando Gallego Cardona
Alguien me puede indicar que propósito tiene ese position:relative en el <header>?
Roger Carlos Ariel Alba
Hola,
Recuerda que casi todo es "static" de forma predeterminada, así que para "posicionarlo" debe ser "relative"
CRISTIAN BARBERO PÉREZ
Lo hace para colocar después el botón. Ya que cuando un elemento tiene posición absolute, se posiciona en función a su elemento más cercano que tenga una posición relative. Es decir, de esta manera el header será la referencia para colocar el botón. Si no le colocasemos el position: relative la referencia sería el body
Olga Berenice Hernández Cruz
Oscar Israel Román Quispe
Muy interesante, hay distintas maneras de expresar un degradado.
Roberto Pablo Almanza Cabrera
Puedes usar el linear- gradient de la siguiente manera para obtener un background de dos colores: Eliges un ángulo y colocas
<code> background: rgb(108,58,92); background: linear-gradient(90deg, rgba(108,58,92,1) 20%, rgba(58,108,58,1) 20%, rgba(58,108,58,1) 40%, rgba(108,58,92,1) 40%, rgba(108,58,92,1) 60%, rgba(58,108,58,1) 60%, rgba(58,108,58,1) 80%, rgba(108,58,92,1) 80%);!
Este código generaría 5 columnas de 20% cada una que alternan entre los colores morado y verde. Las posibilidades son infinitas, puedes usar más colores o combinar contenedores para obtener diferentes formas.
si le añaden una animacion queda muy cool
header { display: flex; flex-direction: column; justify-content: center; width: 100%; min-width: 320px; height: 334px; text-align: center; background: linear-gradient(232deg, #201e1c, #f7931a); background-size: 400% 400%; -webkit-animation: bgAnimateBitcoin 20s ease infinite; -moz-animation: bgAnimateBitcoin 20s ease infinite; animation: bgAnimateBitcoin 20s ease infinite; } @-webkit-keyframes bgAnimateBitcoin { 0%{background-position:0% 50%} 50%{background-position:100% 50%} 100%{background-position:0% 50%} } @-moz-keyframes bgAnimateBitcoin { 0%{background-position:0% 50%} 50%{background-position:100% 50%} 100%{background-position:0% 50%} } @keyframes bgAnimateBitcoin { 0%{background-position:0% 50%} 50%{background-position:100% 50%} 100%{background-position:0% 50%} }
Estoy muy Feliz del resultado que va tomando estas clases :D
Código
/* Dando estilos al Header*/ header{ display: flex; flex-direction: column; align-items: center; width: 100%; min-width: 320px; height: 333px; position: relative; background: linear-gradient(207.8deg, var(--warm-black) 16.69%, var(--bitcoin-orange) 100%); } .header__img--container{ margin-top: 40px; } .header__img{ width: 150px; height: 24px; align-self: center; } .header__title{ width: 90%; min-width: 288px; max-width: 900px; height: 218px; margin-top: 30px; text-align: center; align-self: center; } .header__title h1{ font-size: 2.4rem; font-weight: bold; line-height: 2.6rem; color: var(--just-white); } .header__title p{ margin-top: 24px; font-size: 1.4rem; font-weight: 500; line-height: 1.8rem; font-style: normal; color: var(--soft-orange) }
Excelente clase, me emociona ver como vamos construyendo este landing page, como recurso adicional quisiera compartir la sintaxis o ingredientes para generar estas líneas degradadas en nuestro background:
background: linear-gradient(grados°- lados o esquinas, Color_1 %opcional, color_2 %opcional);
/*Entero*/ background: linear-gradient(270deg, #201E1C 16.69%, #F7931A 100%); /*Decimal*/ background: linear-gradient(207.8deg, #201E1C 16.69%, #F7931A 100%);
/*Lado*/ background: linear-gradient(to left, #201E1C 16.69%, #F7931A 100%); /*Esquina inferior derecha*/ background: linear-gradient(to right bottom, #201E1C 16.69%, #F7931A 100%);
/*Default Color 1 0% y Color_2 100%)*/ background: linear-gradient(207.8deg, #201E1C, #F7931A);
/*% de color asignado manualmente)*/ background: linear-gradient(207.8deg, #201E1C 16.69%, #F7931A 100%);
La función CSS linear-gradient() crea una imagen la cual representa un degradado lineal de colores. El resultado es un objeto CSS de tipo <gradient>, que es una forma especial de <image>.
El código:
Formal grammar: linear-gradient( [ <angle> | to <side-or-corner> ,]? <color-stop> [, <color-stop>]+ ) \---------------------------------/ \----------------------------/ Definition of the gradient line List of color stops where <side-or-corner> = [left | right] || [top | bottom] and <color-stop> = <color> [ <percentage> | <length> ]?
Fuente: MDN Web Docs
Update al estilo en header:
background: linear-gradient(207.8deg, #201E1C 16.69%, #F7931A 100%);
Estilo .header--title-container h1:
font-size: 2.4rem; font-weight: bold; line-height: 2.6rem; color: var(--just-white);
Estilo .header--title-container p:
margin-top: 25px; font-size: 1.4rem; font-weight: 500; line-height: 1.8rem; color: var(--soft-orange);
Hola Julián
No funciona el gradient en background-color porque CSS considera los gradientes como imagen, no como colores. Y por lo mismo si te funcionará en background-image.
La propiedad background engloba todas las otras propiedades de background-algo y por eso es flexible, como dice RetaxMaster. En una misma línea puedes indicar todas las propiedades que con -algo se hacen por separado. Por eso que también puedes usar el gradiente en background.
Entonces, background-color está dentro de background y por eso estas sentencias son equivalentes (y la razón por la que piensas que es lo mismo):
.algo { background: #F33304; } .algo { background-color: #F33304; }
Pero ya hablamos que background tiene más cosas...
.algo { background: #F33304 url('fondo.png') repeat-x center top; } .algo { background-color: #F33304; background-image: url('fondo.png'); background-repeat: repeat-x; background-position: center top; }