Retour aux articles
miércoles, 8 de enero de 202522 vues1

Flexbox para principiantes: Crea diseños modernos en un abrir y cerrar de ojos

Mike Codeur

Flexbox
CSS

Flexbox es una tecnología CSS poderosa y esencial para crear diseños modernos y responsivos. Ya seas un principiante o estés buscando simplificar tus diseños, Flexbox puede transformar la forma en que estructuras tus interfaces.

¿Qué es Flexbox?

Flexbox, o "Flexible Box Layout", es un módulo CSS diseñado para alinear elementos de manera flexible y eficiente. A diferencia de los diseños tradicionales, Flexbox gestiona la alineación tanto horizontal como verticalmente, lo que lo hace ideal para diseños modernos.

Conceptos básicos de Flexbox

  1. El contenedor flexible: Este es el elemento padre que contiene los elementos a alinear. Para activar Flexbox, aplica display: flex; a este elemento.
  2. Los elementos flexibles: Estos son los hijos del contenedor, que pueden ser redimensionados y alineados gracias a propiedades específicas como flex-grow, flex-shrink y flex-basis.
HTML
<div class="container">
  <div class="item">1</div>
  <div class="item">2</div>
  <div class="item">3</div>
</div>
CSS
.container {
  display: flex;
}
.item {
  padding: 10px;
  background-color: #f0f0f0;
  border: 1px solid #ccc;
}

Cómo alinear elementos con Flexbox

Alineación horizontal

Para controlar la distribución de los elementos a lo largo del eje principal (horizontal por defecto), utiliza justify-content:

  • justify-content: flex-start;: Alineación a la izquierda (por defecto).
  • justify-content: center;: Centra los elementos.
  • justify-content: space-between;: Espaciado igual entre los elementos.
CSS
.container {
  display: flex;
  justify-content: center;
}

Alineación vertical

Para alinear los elementos en el eje transversal (vertical por defecto), utiliza align-items:

  • align-items: flex-start;: Alineación en la parte superior.
  • align-items: center;: Centra los elementos verticalmente.
  • align-items: flex-end;: Alineación en la parte inferior.
CSS
.container {
  display: flex;
  align-items: center;
}

Dirección de los elementos

Puedes cambiar la orientación de los elementos con flex-direction:

  • flex-direction: row;: Orientación horizontal (por defecto).
  • flex-direction: column;: Orientación vertical.
CSS
.container {
  display: flex;
  flex-direction: column;
}

Ejemplo práctico: Crear un diseño simple

Imaginemos un diseño con un menú en la parte superior y contenido centrado.

HTML
<div class="layout">
  <nav class="menu">
    <a href="#">Home</a>
    <a href="#">About</a>
    <a href="#">Contact</a>
  </nav>
  <main class="content">
    <h1>Welcome to My Site</h1>
    <p>Create modern layouts with Flexbox!</p>
  </main>
</div>
CSS
.layout {
  display: flex;
  flex-direction: column;
  height: 100vh;
}
.menu {
  display: flex;
  justify-content: space-around;
  background-color: #007BFF;
  padding: 10px;
}
.menu a {
  color: #fff;
  text-decoration: none;
}
.content {
  display: flex;
  flex: 1;
  justify-content: center;
  align-items: center;
  text-align: center;
}

Conclusión

Flexbox es una herramienta imprescindible para los desarrolladores web que desean crear diseños modernos y responsivos. Al comprender los conceptos básicos, podrás alinear fácilmente tus elementos y estructurar tus páginas en un abrir y cerrar de ojos. ¡Pruébalo en tus proyectos para ver la diferencia!

Abonnes-toi à la NewsLetter

Apprends les meilleures pratiques pour devenir un développeur web moderne (JavaScript / React / Next).

Gagner sa vie grâce au code
Devenir développeur Freelance
+35 000 développeurs déjà inscrits.

Accès instantané. Aucune carte de crédit requise.

Rejoins +35 000 développeurs déjà inscrits.