Saltar al contenido principal
Codigo Heroe
Tarea anterior
Distribuciones complejas de componentes3/18
A la lista de tareas
  1. 1. Ancho y relleno de las tarjetas
  2. 2. Márgenes entre elementos flex
  3. 3. La propiedad align-items en flexbox
  4. 4. La dirección del eje principal
  5. 5. El orden visual con order
  6. 6. La propiedad align-self en flexbox
  7. 7. Márgenes y rellenos de los elementos flex
  8. 8. Prueba de una imagen más grande
  9. 9. Imágenes que se ajustan al contenedor
  10. 10. Una tarjeta con dos columnas
  11. 11. Una distribución asimétrica con tres columnas
  12. 12. Áreas de grid
  13. 13. Áreas que ocupan varias filas
  14. 14. Reglas de las áreas de grid
  15. 15. La propiedad align-self en grid
  16. 16. Ajustar el ancho de las columnas
  17. 17. La propiedad justify-self
  18. 18. Prueba de la tarjeta con más contenido
Siguiente tarea
  • Matriz de skills
  • Cursos
  • Registro
  • Iniciar sesión

Loading…
En unos segundos, estará listo.

  • Teoría
  • Teoría

La propiedad align-items en flexbox

Ya colocamos las tarjetas en una fila y las separamos. Ahora hay que centrarlas verticalmente.

Diseño del carrusel

De manera predeterminada, los elementos flex se estiran hasta alcanzar la altura del elemento más alto de la línea. En nuestro caso, es la segunda tarjeta.

Para que la primera y la tercera tarjeta dejen de estirarse y queden centradas, usaremos align-items. Ya conocimos esta propiedad al trabajar con grid. En flexbox controla la posición de los elementos en el eje transversal.

El eje transversal es perpendicular al eje principal y, de manera predeterminada, va de arriba hacia abajo:

Esquema de los ejes de flexbox

En un contenedor flex, align-items puede tomar estos valores:

  • stretch: los elementos se estiran a lo largo del eje transversal.
  • flex-start: los elementos se ajustan al contenido y se colocan al inicio del eje transversal (arriba, de manera predeterminada).
  • flex-end: los elementos se ajustan al contenido y se colocan al final del eje transversal (abajo, de manera predeterminada).
  • center: los elementos se ajustan al contenido y se centran en el eje transversal.
.flex-container {
  display: flex;
  align-items: flex-start;
}

Probemos distintos valores de align-items y después centremos las tarjetas verticalmente.

La propiedad align-items afecta a todos los elementos del contenedor flex. Sin embargo, la tarjeta central tiene la misma altura que el contenedor, así que los cambios de alineación no se notarán en ella.

  • index.html
  • style.css
HTML
<!DOCTYPE html> <html lang="es"> <head> <meta charset="UTF-8"> <link rel="stylesheet" href="carousel-decorative.css"> <link rel="stylesheet" href="style.css"> <title>Crea tu smoothie</title> </head> <body> <section class="carousel"> <h2>Crea tu smoothie</h2> <button class="arrow arrow-back" type="button"><span class="visually-hidden">Anterior</span></button> <ul class="cards-list"> <li class="card"> <h3 class="title">Mandarina</h3> <img class="image" src="img/mandarin.jpg" alt="Mandarina" width="120" height="120"> <p class="description">Sabor dulce e intenso con un toque ácido.</p> <a class="add-link" href="#">+ Agregar</a> </li> <li class="card current"> <h3 class="title">Lima</h3> <img class="image" src="img/lime.jpg" alt="Lima" width="150" height="150"> <p class="description">Un toque ácido y un aroma único.</p> <a class="add-link" href="#">+ Agregar</a> </li> <li class="card"> <h3 class="title">Fresa</h3> <img class="image" src="img/strawberry.jpg" alt="Fresa" width="120" height="120"> <p class="description">Suave aroma floral y sabor a verano.</p> <a class="add-link" href="#">+ Agregar</a> </li> </ul> <button class="arrow arrow-forward" type="button"><span class="visually-hidden">Siguiente</span></button> </section> </body> </html>
CSS
.cards-list { display: flex; margin: 0; padding: 0; } .card { width: 120px; margin-right: 10px; padding: 15px; } .card:nth-child(3) { margin-right: 0; } .current { width: 150px; }

El código ha cambiado, haz clic en "Actualizar" o activa la ejecución automática.

Ha ido a otra página

Haga clic dentro del mininavegador para poner el foco en esta ventana.

100%
ObjetivosRealizado
0
    1. Agrega align-items con el valor flex-start a la regla de cards-list. La primera y la tercera tarjeta dejarán de estirarse a toda la altura del contenedor.
    2. Cambia el valor de align-items a flex-end. Las tarjetas quedarán abajo.
    3. Ahora cámbialo a center. Las tarjetas quedarán centradas.
    Codigo Heroe

    © 2023-2026, codigoheroe.com