justify-content y align-items

    border: 5px solid green;


     gap: 15px; /* Espacio entre elementos */
   border-bottom: 1px solid #dee2e6;
       padding-top: 50px;  /* Ajusta este valor para bajar la card */
    table {
    margin: 0 auto; /* La tabla necesita esto además */
}

   padding: 20px 20px 0 20px;

  • 20px → Padding superior (top)

  • 20px → Padding derecho (right)

  • 0 → Padding inferior (bottom)

  • 20px → Padding izquierdo (left)




La razón principal:

justify-content y align-items cambian su comportamiento según la dirección del eje principal.

Con flex-direction: row (por defecto):

  • Eje principal (main axis) → horizontal (x)

  • Eje transversal (cross axis) → vertical (y)

  • justify-content → controla la alineación horizontal

  • align-items → controla la alineación vertical

Con flex-direction: column:

  • Eje principal (main axis) → vertical (y)

  • Eje transversal (cross axis) → horizontal (x)

  • justify-content → controla la alineación vertical

  • align-items → controla la alineación horizontal

Visualmente:

css
/* Con row (por defecto) */
.container {
    display: flex;
    flex-direction: row;
    justify-content: center; /* ← Centra HORIZONTALMENTE */
    align-items: center;     /* ← Centra VERTICALMENTE */
}

/* Con column */
.container {
    display: flex;
    flex-direction: column;
    justify-content: center; /* ← Centra VERTICALMENTE */
    align-items: center;     /* ← Centra HORIZONTALMENTE */
}

En tu caso específico:

css
.card {
    display: flex;
    flex-direction: column;  /* Eje principal ahora es VERTICAL */
    justify-content: center; /* Esto centra los elementos VERTICALMENTE */
    /* Para centrar horizontalmente necesitas: */
    align-items: center;     /* Esto centra HORIZONTALMENTE */
}

Regla mnemotécnica para recordarlo:

  • justify siempre trabaja en la dirección del texto (como en "justificar texto" en Word)

  • Con row: dirección del texto es horizontal → justify-content controla horizontal

  • Con column: dirección del texto es vertical (como texto en columnas) → justify-content controla vertical

¿Tiene sentido? Es como si el "eje principal" siempre sigue la dirección de la flexbox, y justify-content siempre trabaja en ese eje principal, mientras que align-items trabaja en el eje perpendicular.

Comentarios

Entradas más populares de este blog

Tutorial de CSS: De Cero a Estilizar tu Primera Página Web

layouts

Proyecto Práctico: Tarjeta de Perfil