Easier to read with cream paper, a tint, more contrast or larger text? Choose your colours and text, once, for every page.

Vista previa

Colocar con flexbox

Esta es la primera página de la lección. Léela y prueba las actividades. El resto está en el curso completo.

40 minutos

El menú que se coloca solo

En la web de un bar, el menú de arriba tiene cuatro enlaces en una fila, bien separados.

Si los escribes en HTML, salen uno debajo de otro. Para ponerlos en fila hace falta una herramienta.

Esa herramienta se llama flexbox. Con una línea de CSS, las cajas se ordenan solas.

Palabras clave

PalabraQué significaEjemplo
FlexboxUna forma de colocar cajas en una fila o en una columna.display: flex;
ContenedorLa caja que guarda a otras cajas..row
ElementoCada caja que está dentro del contenedor..item
Eje principalLa dirección en que se ponen los elementos: la fila o la columna.
Eje cruzadoLa otra dirección, la que cruza el eje principal.
HuecoEl espacio entre dos elementos. En inglés, gap.gap: 10px;

Las celdas que rellenan los estudiantes quedan en blanco en esta vista previa.

Una línea lo cambia todo

Escribe display: flex; en el contenedor. Sus hijos pasan a ser elementos y se ponen en fila.

Las cajas de dentro no necesitan ninguna regla para esto.

Pruébalo: tres cajas en fila

Código: web
<div class="row">
  <div class="item">1</div>
  <div class="item">2</div>
  <div class="item">3</div>
</div>

Repartir el sitio que sobra

El contenedor mide 400 px y las tres cajas miden 100 px cada una. Sobran 100 px.

La propiedad justify-content decide dónde va ese sitio que sobra, a lo largo del eje principal.

Ejemplo resuelto: dónde empieza cada caja

justify-contentCaja 1Caja 2Caja 3
flex-start0 px100 px200 px
center50 px150 px250 px
flex-end100 px200 px300 px
space-between0 px150 px300 px
space-evenly25 px150 px275 px

Las celdas que rellenan los estudiantes quedan en blanco en esta vista previa.

Pruébalo: cambia el reparto

Código: web
<div class="row">
  <div class="item">1</div>
  <div class="item">2</div>
  <div class="item">3</div>
</div>
<!-- Cambia space-between por center, flex-end o space-evenly. -->

Repaso rápido: el reparto

Inténtalo

Repaso rápido: el reparto

3 preguntas
Pruébalo: tus respuestas se corrigen aquí y después se olvidan. Inicia sesión si quieres que se guarde tu puntuación y continuar donde lo dejaste.Iniciar sesión para guardar tu puntuación

Tus respuestas se corrigen aquí y no se guardan. Una cuenta guarda tus resultados.

Centrar hacia el otro lado

La propiedad align-items coloca los elementos en el eje cruzado.

Con una fila, el eje cruzado es el vertical. Para que se note, el contenedor necesita una altura.

Con justify-content: center; y align-items: center; juntos, el elemento queda en el centro exacto.

La lección continúa

7 partes más de esta lección están en el curso completo, con los ejercicios y la comprobación final. Una cuenta te da todo.