// Programación I · 07 · Layout
Colocar elementos en fila o en columna, repartir el espacio y centrar cualquier cosa
// el punto de partida
Sin CSS, los elementos de bloque se apilan uno debajo de otro, cada uno ocupando todo el ancho.
Sirve para textos, pero no para poner el logo a un lado y el menú al otro, ni para hacer columnas.
.aviso { text-align: center; }
Inscripciones abiertas
Inscribirmetext-align mueve lo que hay dentro de la caja: texto, enlaces, imágenes y botones en línea.
.contenedor { max-width: 60%; margin: 0 auto; }
margin: 0 auto mueve la caja entera, si tiene un ancho.
Pero ninguno de los dos pone cosas en fila ni centra en vertical. Para eso está Flexbox.
<div class="contenedor"> <div>1</div> <div>2</div> <div>3</div> </div>
.contenedor { display: flex; gap: 8px; }
Los hijos dejan de apilarse y se ponen en fila. gap añade espacio entre ellos.
display: flex se pone en el contenedorflex: 1, van en los hijosflex-direction: column se intercambian. Pruébalojustify-content · repartir a lo largoflex-startpor defectocenterflex-endspace-betweenspace-aroundalign-items · alinear a lo altostretchpor defecto: misma alturaflex-startcenterflex-endDurante años, centrar algo en vertical fue un quebradero de cabeza. Con Flexbox son tres líneas.
.portada { display: flex; justify-content: center; align-items: center; min-height: 100vh; }
flex-wrapnowrap · por defecto, se encogen
wrap · saltan a la fila siguiente
flex: 1Se pone en los hijos: hace que crezcan para repartirse el espacio que sobra.
sin flex
.tarjeta { flex: 1; }
sólo el segundo con flex: 1
.menu { display: flex; gap: 24px; list-style: none; padding: 0; }
la lista, sin estilos
con Flexbox
header { display: flex; justify-content: space-between; align-items: center; }
El logo a un lado, el menú al otro y los dos centrados en vertical.
// laboratorio
flex-directionjustify-contentalign-itemsgapChrome muestra una etiqueta flex junto a cada contenedor flexible. Al hacer clic, dibuja los huecos y los ejes sobre la página.
Un juego para practicar: ayudas a unas ranas a llegar a sus nenúfares escribiendo Flexbox.
// y ahora
Todo esto, con más ejemplos, en los apuntes.