Menu
CoddyTech

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 «centro 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 ofrece una solución elegante y sencilla a 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 del elemento padre. 

Así es como puedes conseguir un centrado perfecto usando Flexbox:

.container {
    display: flex; /* Convierte el elemento padre en un contenedor flex */
    justify-content: center; /* Centra el elemento hijo horizontalmente a lo largo del eje principal */
    align-items: center; /* Centra el elemento 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 puede que el centrado vertical no sea 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; /* Establece una altura específica para el contenedor */
    border: 1px solid black; /* Opcional: añade un borde para visualizarlo */
}

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

En este ejemplo, el elemento .container tiene una altura de 300px, y el elemento .child quedará 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 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 la división secundaria horizontalmente.
  4. Establece la propiedad align-items del elemento .parent en center para centrar la división secundaria verticalmente.
  5. Asigna al elemento .parent una height de 200px para asegurarte de 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