Menu
Coddy logo textTech

El centro perfecto

Parte de la sección Estilos con CSS del Journey de HTML de Coddy. Lección 48 de 76.

En CSS, lograr el «centrado perfecto», es decir, centrar un elemento tanto horizontal como verticalmente dentro de su elemento padre, es un desafío común de diseño. Flexbox proporciona una solución elegante y sencilla para este problema. Al combinar las propiedades justify-content y align-items, puedes centrar fácilmente un elemento hijo dentro de su contenedor flex, independientemente del tamaño del elemento hijo o de su elemento padre. 

Así es como se logra el centrado perfecto usando Flexbox:

.container {
    display: flex; /* Convierte el padre en un contenedor flex */
    justify-content: center; /* Centra el hijo horizontalmente a lo largo del eje principal */
    align-items: center; /* Centra el hijo verticalmente a lo largo del eje transversal */
}

Para que esta técnica funcione eficazmente, asegúrate de que el contenedor flex tenga una altura definida. Si la altura del contenedor no se establece explícitamente, solo tendrá la altura de su contenido, y el centrado vertical puede no ser evidente.

Aquí tienes un ejemplo de cómo usar esta técnica en HTML:

<div class="container">
    <div class="child">This is centered</div>
</div>
.container {
    display: flex;
    justify-content: center;
    align-items: center;
    height: 300px; /* Set a specific height for the container */
    border: 1px solid black; /* Optional: Add a border for visualization */
}

.child {
    padding: 20px;
    border: 1px solid red;
}

En este ejemplo, el elemento .container tiene una altura de 300px, y el elemento .child estará perfectamente centrado tanto horizontal como verticalmente dentro de él.

challenge icon

Desafío

Fácil

Se te proporciona un documento HTML con una división principal (<div>) que contiene una división secundaria (<div>). Tu tarea es usar Flexbox para centrar perfectamente la división secundaria dentro de la división principal. Sigue los pasos a continuación:

  1. Escribe una regla de CSS que seleccione el elemento <div> con la clase parent.
  2. Establece la propiedad display del elemento .parent en flex para convertirlo en un contenedor flex.
  3. Establece la propiedad justify-content del elemento .parent en center para centrar horizontalmente el elemento secundario.
  4. Establece la propiedad align-items del elemento .parent en center para centrar verticalmente el elemento secundario.
  5. Asigna al elemento .parent una height de 200px para garantizar que el centrado vertical sea visible.

Pruébalo tú mismo

<html>
<head>
    <title>The Perfect Center</title>
    <style>
        /* Write CSS rules here */
    </style>
</head>
<body>
    <div class="parent">
        <div class="child">Center Me</div>
    </div>
</body>
</html>
quiz iconPonte a prueba

Esta lección incluye un breve cuestionario. Empieza la lección para responderlo y registrar tu progreso.

Todas las lecciones de Estilos con CSS

Practica por tu cuenta: Playground de Web