Saltar al contenido principal
Codigo Heroe
Tarea anterior
Distribuciones complejas de componentes5/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

El orden visual con order

Ya convertimos las tarjetas en contenedores flex y colocamos sus elementos de arriba hacia abajo. Ahora podemos intercambiar el encabezado y la imagen para que coincidan con el diseño.

Diseño de las tarjetas

Para cambiar el orden visual de los elementos usamos order. Esta propiedad acepta un número entero, que puede ser positivo, negativo o cero. De manera predeterminada, todos los elementos tienen order igual a cero.

.element {
  order: 5;
}

Los elementos se colocan del valor de order más bajo al más alto. Si varios tienen el mismo valor, se respeta su orden en el HTML.

Veamos un ejemplo con cuatro bloques de distintos colores:

1. green
2. orange
3. blue
4. pink

Usaremos order para cambiar su orden:

.green {
  order: 1;
}

.orange {
  order: 0;
}

.blue {
  order: -1;
}

.pink {
  order: 0;
}

Los bloques quedarán en este orden:

1. green
2. orange
3. blue
4. pink

El bloque azul aparece primero porque tiene el menor valor de order. Los bloques naranja y rosa tienen el siguiente valor, pero el naranja está antes en el HTML. El verde tiene el valor más alto y por eso aparece al final.

Queremos que la imagen sea el primer elemento de la tarjeta. Como todos los elementos tienen order igual a cero, basta con darle a la imagen un valor menor que cero. Sirve cualquier número entero negativo; usaremos -1 para hacerlo sencillo.

Probemos distintos valores de order para entender cómo funciona. Después intercambiaremos el encabezado y la imagen.

order solo cambia el orden dentro del contenedor padre. No permite, por ejemplo, mover un elemento del encabezado de la página al pie.

  • 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; align-items: center; margin: 0; padding: 0; } .card { display: flex; flex-direction: column; 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. Crea una regla para la clase image y agrega order con el valor 1. Las imágenes pasarán al final de las tarjetas.
    2. Cambia el valor de order a 0. Las imágenes volverán a su posición anterior.
    3. Ahora cambia el valor a -1. Las imágenes pasarán al principio.
    Codigo Heroe

    © 2023-2026, codigoheroe.com