Cómo centrar el cuadro CSS horizontal y verticalmente

Tabla de contenido

I. Introducción

Dos, el método de centrado horizontal y vertical de las cajas CSS

1. pantalla: implementación de diseño elástico flexible

 2. pantalla: implementación de diseño de cuadrícula de cuadrícula

3. Implementación del diseño de la mesa

4. Posicionamiento+margen: implementación automática

5. Posicionamiento + margen: Valor negativo

6. Posicionamiento + transformación

3. Resumen


I. Introducción

En el desarrollo diario de la interfaz del sitio web o la aplicación. En el proceso de los applets, se encontrará con la necesidad de centrar el cuadro horizontal y verticalmente. Diferentes requisitos nos obligan a adoptar diferentes métodos para el centrado horizontal y vertical de los elementos.

Dos, el método de centrado horizontal y vertical de las cajas CSS

1. pantalla: implementación de diseño elástico flexible

Atributos describir
mostrar Especifica el tipo de cuadro de un elemento HTML
dirección de flexión Especifica la disposición de los elementos secundarios en el flexbox
justificar-contenido

Establecer la disposición de los elementos en el flexbox en la dirección del eje principal

alinear elementos Establece la alineación de los elementos en el flexbox en la dirección del eje transversal

El centrado horizontal y vertical se logra estableciendo un diseño elástico para el cuadro principal. El ejemplo de código es el siguiente

            .father {
                width: 200px;
                height: 200px;
                background: red;
                display: flex;
                /* 实现水平方向上居中 */
                justify-content: center;
                /* 实现垂直方向居中 */
                align-items: center;
            }
            .son {
                width: 100px;
                height: 100px;
                background: green;
            }
            
            <div class="father">
                <div class="son"></div>
            </div>

El efecto es el siguiente:

 2. pantalla: implementación de diseño de cuadrícula de cuadrícula

La misma idea que la implementación del diseño elástico, solo configure el cuadro principal como un diseño de cuadrícula directamente

            .father {
                width: 200px;
                height: 200px;
                background: red;
                display: grid;
                /* 实现水平方向上居中 */
                justify-content: center;
                /* 实现垂直方向居中 */
                align-items: center;
            }
            .son {
                width: 100px;
                height: 100px;
                background: green;
            }

            <div class="father">
                <div class="son"></div>
            </div>

3. Implementación del diseño de la mesa

Establezca el elemento secundario en display:inline-block configurando el elemento principal en display:table-cell.

            .father {
                width: 200px;
                height: 200px;
                background: red;
                display: table-cell;
                /* 垂直方向居中 */
                vertical-align: middle;
                /* 水平方向居中 */
                text-align: center;
            }
            .son {
                display: inline-block;
                width: 100px;
                height: 100px;
                background: green;
            }
            <div class="father">
                <div class="son"></div>
            </div>

4. Posicionamiento+margen: implementación automática

A través de la fase hijo y padre, y establezca los elementos secundarios (izquierda, arriba, derecha, abajo) en 0, entonces, si no establece el ancho y la altura del elemento secundario en este momento, el ancho y la altura del elemento secundario será el ancho y alto del elemento padre,

Puede pensar detenidamente en lo siguiente. Al establecer dos de estas cuatro propiedades, las posiciones de los dos lados se fijan y se determina la posición del elemento secundario. Cuando se establecen las cuatro propiedades, se determina la posición del elemento. Ancho Altura.

            .father {
                width: 200px;
                height: 200px;
                position: relative;
                background: red;
            }
            .son {
                width: 100px;
                height: 100px;
                background: green;
                position: absolute;
                top: 0;
                left: 0;
                right: 0;
                bottom: 0;
                margin: auto;
            }

            <div class="father">
                <div class="son"></div>
            </div>

5. Posicionamiento + margen: Valor negativo

La posición del elemento secundario está determinada por el elemento secundario y el padre, y luego el elemento secundario se mueve por margen para lograr el efecto de centrado horizontal y vertical del elemento secundario.

La idea de implementación específica es la siguiente:

Primero configure el posicionamiento relativo para el elemento principal y luego configure el posicionamiento absoluto para el elemento secundario, arriba: 50%, izquierda: 50%, el código es el siguiente

            .father {
                width: 200px;
                height: 200px;
                position: relative;
                background: red;
            }
            .son {
                width: 100px;
                height: 100px;
                background: green;
                position: absolute;
                top: 50%;
                left: 50%;
            }

Pero en este momento, no logró el efecto que queríamos.

Pero si usamos margin para ajustar la posición del elemento secundario en este momento, podemos lograr el efecto de centrar el elemento secundario horizontal y verticalmente.El valor de margin-left es la mitad del ancho y la altura del elemento secundario en sí.

            .father {
                width: 200px;
                height: 200px;
                position: relative;
                background: red;
            }
            .son {
                width: 100px;
                height: 100px;
                background: green;
                position: absolute;
                top: 50%;
                left: 50%;
                margin-left: -50px;
                margin-top: -50px;
            }

 Hasta ahora, el elemento hijo ha logrado el efecto.

6. Posicionamiento + transformación

La idea es la misma que 5. Posicionamiento + margen . La posición se determina inicialmente a través del posicionamiento absoluto, y luego la posición se ajusta de acuerdo con la transformación. El ancho y la altura de la transformación (-50%, -50%) son ambos desplazado por la mitad del ancho y la altura del propio subelemento.

            .father {
                width: 200px;
                height: 200px;
                position: relative;
                background: red;
            }
            .son {
                width: 100px;
                height: 100px;
                background: green;
                position: absolute;
                top: 50%;
                left: 50%;
                transform: translate(-50%, -50%);
            }

3. Resumen

Cuando no conocemos el ancho y la altura del elemento, aún podemos lograr métodos de centrado horizontal y vertical: diseño flexible, diseño de cuadrícula, posicionamiento + automático, posicionamiento + transformación,

Estas son formas comunes de centrar elementos horizontal y verticalmente. Bienvenidos a todos a discutir en el área de comentarios y aprender juntos.

Supongo que te gusta

Origin blog.csdn.net/qq_63299825/article/details/131028816
Recomendado
Clasificación