es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Cuadrícula y alineación vertical con Bootstrap 5.

Tengo una pregunta rápida ya que he estado atascado con esto durante aproximadamente 3 horas y no puedo resolverlo.

<!DOCTYPE html>
<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.1.3/dist/css/bootstrap.min.css" rel="stylesheet" integrity="sha384-1BmE4kWBq78iYhFldvKuhfTAU6auU8tT94WrHftjDbrCEXSU1oBoqyl2QvZ6jIW3" crossorigin="anonymous">
<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.1.3/dist/js/bootstrap.bundle.min.js" integrity="sha384-ka7Sk0Gln4gmtz2MlQnikT1wXgYsOg+OMhuP+IlRH9sENBO0LRn5q+8nbTov4+1p" crossorigin="anonymous"></script>
<html>
    <body>
        <div class="container">
            <div class="row justify-content-center">
                <div class="col-md-auto">
                    <h1>TOP</h1>
                </div>
            </div>
            <div class="row justify-content-center">
                <div class="col-md-auto">
                    <h1>LEFT</h1>
                </div>
                <div class="col-md-auto">
                    <h1>RIGHT TOP</h1>
                </div>
                <div class="col-md-auto">
                    <h1>RIGHT BOTTOM</h1>
                </div>
            </div>
        </div>
    </body>
</html>

Debería alinearse así:

Imagen

Esto se alinea horizontalmente bien, pero ¿cómo puedo centrarlo verticalmente en el sitio y lograr la alineación como en la imagen?

Tags:  , ,

Answer

  1. Avatar for davy.ai

    Para centrar el contenido verticalmente, puedes usar flexbox. Agrega los siguientes estilos al elemento contenedor:

    display: flex;
    flex-direction: column;
    justify-content: center;
    

    Esto convertirá al elemento contenedor en un contenedor flex, con sus elementos hijos alineados en una columna. La propiedad justify-content: center alinea verticalmente a estos elementos hijos.

    Para lograr la alineación como en la imagen, puedes usar el sistema de rejilla de Bootstrap con filas y columnas anidadas. Aquí está el código actualizado:

    <!DOCTYPE html>
    <link href="https://cdn.jsdelivr.net/npm/bootstrap@5.1.3/dist/css/bootstrap.min.css" rel="stylesheet" integrity="sha384-1BmE4kWBq78iYhFldvKuhfTAU6auU8tT94WrHftjDbrCEXSU1oBoqyl2QvZ6jIW3" crossorigin="anonymous">
    <script src="https://cdn.jsdelivr.net/npm/bootstrap@5.1.3/dist/js/bootstrap.bundle.min.js" integrity="sha384-ka7Sk0Gln4gmtz2MlQnikT1wXgYsOg+OMhuP+IlRH9sENBO0LRn5q+8nbTov4+1p" crossorigin="anonymous"></script>
    
    <html>
        <body>
            <div class="container d-flex flex-column justify-content-center">
                <div class="row">
                    <div class="col-md-12 text-center">
                        <h1>TOP</h1>
                    </div>
                </div>
                <div class="row">
                    <div class="col-md-8 text-center">
                        <div class="row">
                            <div class="col-md-12"><h1>LEFT</h1></div>
                        </div>
                        <div class="row">
                            <div class="col-md-12"><h1>RIGHT TOP</h1></div>
                        </div>
                    </div>
                    <div class="col-md-4 text-center">
                        <h1>RIGHT BOTTOM</h1>
                    </div>
                </div>
            </div>
        </body>
    </html>
    

    Esto creará un elemento contenedor que está centrado verticalmente con su contenido, y utilizando el sistema de rejilla de Bootstrap, el contenido se alineará como en la imagen proporcionada. Ten en cuenta que la clase text-center se utiliza para centrar el contenido horizontalmente dentro de cada columna.

Comments are closed.