¿Cuál es la diferencia entre alinear contenido y alinear elementos?
¿ Cuál es la diferencia entre align-items
y align-content
?
La align-items
propiedad de flex-box alinea los elementos dentro de un contenedor flexible a lo largo del eje transversal tal como justify-content
lo hace a lo largo del eje principal. (Por defecto, flex-direction: row
el eje transversal corresponde al vertical y el eje principal corresponde al horizontal. Estos flex-direction: column
dos se intercambian respectivamente).
Aquí hay un ejemplo de cómo align-items:center
se ve:
Pero align-content
es para cajas flexibles de varias líneas. No tiene ningún efecto cuando los elementos están en una sola línea. Alinea toda la estructura según su valor. Aquí hay un ejemplo para align-content: space-around;
:
Y así es como ocurre align-content: space-around;
con align-items:center
la apariencia:
Tenga en cuenta que el tercer cuadro y todos los demás cuadros en la primera línea cambian a centrados verticalmente en esa línea.
Aquí hay algunos enlaces de codepen para jugar:
http://codepen.io/asim-coder/pen/MKQWbb
http://codepen.io/asim-coder/pen/WrMNWR
Aquí tienes un bolígrafo genial que muestra y te permite jugar con casi todo en Flexbox.
Del ejemplo en flexboxfroggy.com :
Te llevará entre 10 y 20 minutos y en el nivel 21 encontrarás la respuesta a tu pregunta.
align-content determina el espacio entre líneas
align-items determina cómo se alinean los elementos en su conjunto dentro del contenedor.
Cuando solo hay una línea, align-content no tiene ningún efecto
Primero, align-items
es para elementos en una sola fila. Entonces, para una sola fila de elementos en el eje principal , align-items
se alinearán estos elementos entre sí y se comenzará con una nueva perspectiva desde la siguiente fila.
Ahora, align-content
no interfiere con los elementos de una fila sino con las filas mismas . Por lo tanto, align-content
intentaremos alinear las filas entre sí y flexionar el contenedor.
Mira este violín: https://jsfiddle.net/htym5zkn/8/