preloader

Tutorial Básico de Flexbox: Alineación y Distribución de Elementos

Introducción a CSS Flexbox

Las hojas de estilo en cascada (CSS, Cascading Style Sheets) permiten aplicar diseños complejos a páginas web, complementando los elementos básicos de HTML. CSS permite incrustar imágenes, organizar texto y destacar elementos en una página web. CSS Flexbox es una herramienta moderna esencial para el diseño web en la era móvil.

¿Qué es CSS Flexbox?

CSS Flexbox (diseño de caja flexible) es un método dinámico y flexible para organizar elementos en una página web. A diferencia de las cajas rígidas tradicionales de CSS, Flexbox adapta el diseño a diferentes tamaños y orientaciones de pantalla, haciendo que el contenido se redistribuya de manera que todo permanezca visible y bien estructurado.

Flexbox opera en dos ejes: el principal (generalmente horizontal) y el transversal (vertical). Los elementos se organizan dentro de un contenedor flexible (flex container) y se distribuyen en relación unos con otros. Flexbox asegura que el espacio alrededor de estos elementos se gestione adecuadamente.

Fundamentos de CSS Flexbox

Flexbox se basa en un contenedor flexible que contiene varios elementos flexibles (flex items). El contenedor otorga propiedades a estos elementos, permitiendo su flexibilidad.

Cada eje en Flexbox sigue una dirección: el eje principal (de izquierda a derecha) y el eje transversal (de arriba a abajo). Flexbox es un sistema unidimensional que organiza los elementos en filas o columnas, pero no combina ambas. Puedes controlar la dirección con la propiedad flex-direction.

Propiedades Clave de CSS Flexbox

  • Justify-content: Controla la distribución de los elementos a lo largo del eje principal.

    • flex-start: Justificado a la izquierda.
    • flex-end: Justificado a la derecha.
    • center: Centrado.
    • space-around: Espacio distribuido uniformemente alrededor de los elementos.
    • space-between: Espacio distribuido uniformemente entre los elementos.
  • Align-items: Controla la alineación de los elementos a lo largo del eje transversal.

    • flex-start: Alineado al borde superior.
    • flex-end: Alineado al borde inferior.
    • center: Centrado.
    • stretch: Estirado para ocupar todo el espacio disponible.
    • baseline: Alineado según la línea de base del contenido.
  • Flex-wrap: Permite que los elementos se distribuyan en varias líneas si es necesario.

    • nowrap: Sin saltos de línea.
    • wrap: Con saltos de línea.
    • wrap-reverse: Con saltos de línea, en orden inverso.
  • Order: Cambia el orden visual de los elementos sin alterar el orden en el HTML.

    • Valor por defecto: 0. Valores positivos o negativos reordenan los elementos.
  • Flex: Propiedad abreviada que incluye flex-grow, flex-shrink y flex-basis.

    • flex-grow: Permite que un elemento crezca para llenar el espacio disponible.
    • flex-shrink: Permite que un elemento se reduzca si es necesario.
    • flex-basis: Define el tamaño inicial de un elemento antes de que el espacio restante sea distribuido.

Ejemplo de Uso de Flexbox

Aquí hay un ejemplo básico de cómo usar Flexbox en HTML y CSS:

				
					<!DOCTYPE html>
<html>
<head>
    <style>
        .flex-container {
            display: flex;
            background-color: grey;
            justify-content: center;
            align-items: center;
        }
        .flex-item {
            background-color: white;
            width: 200px;
            margin: 10px;
            text-align: center;
            line-height: 100px;
            font-size: 50px;
        }
    </style>
</head>
<body>
    <div class="flex-container">
        <div class="flex-item">Box 1</div>
        <div class="flex-item">Box 2</div>
        <div class="flex-item">Box 3</div>
    </div>
</body>
</html>


				
			

Conclusión

CSS Flexbox es una poderosa herramienta para diseñar páginas web que se adaptan a diferentes tamaños y orientaciones de pantalla. Facilita la organización de elementos y ofrece una gran flexibilidad para los diseñadores web, ahorrando tiempo y esfuerzo en la creación de diseños responsivos.

Related Post

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *