Método de centrado vertical de caja CSS

1. El método de centrar la caja verticalmente
  1. Deje que los bordes superior e inferior de la caja se superpongan con la línea central horizontal de la caja principal y luego deje que la caja secundaria retroceda la mitad de su distancia.

  <div class="father">
        <div class="son"></div>
    </div>
  /* 通过 transform 属性来移动*/
    .father {
    
    
        width: 500px;
        height: 500px;
        background-color: skyblue;
        border: 1px solid #000;
        margin: 0 auto;
    }

    .son {
    
    
        width: 200px;
        height: 200px;
        background-color: pink;
        border: 1px solid #000;
        margin-top: 50%; // 向下移动父盒子的一半
        transform: translateY(-50%); // 向上移动自身盒子的一半
    }  
     /* 通过 定位来移动*/
    .father {
    
    
        width: 500px;
        height: 500px;
        background-color: skyblue;
        border: 1px solid #000;
        margin: 0 auto;
        position: relative;
    }

    .son {
    
    
        width: 200px;
        height: 200px;
        background-color: pink;
        border: 1px solid #000;
        position: absolute;
        top: 50%; // 先向下移动父盒子的一半
        margin-top: -100px; // 再向上移动自身盒子的一半

    }

Inserte la descripción de la imagen aquí
3. Conociendo la altura del cuadro principal, puede usar el margen para calcular los márgenes superior e inferior del cuadro para centrar el cuadro.

.father {
    
    
            width: 500px;
            height: 500px;
            background-color: skyblue;
            border: 1px solid #000;
            margin: 50px auto;

        }
        .son {
    
    
            width: 200px;
            height: 200px;
            background-color: pink;
            border: 1px solid #000;
            margin-top: 149px;         // 根据父盒子的高度指定 margin-top 即可
        }

En segundo lugar, el método de centrar horizontalmente el cuadro
  1. Use margin: 0 auto;

.father {
    
    
            width: 500px;
            height: 500px;
            background-color: skyblue;
            border: 1px solid #000;
            margin: 50px auto;

        }
        .son {
    
    
            width: 200px;
            height: 200px;
            background-color: pink;
            border: 1px solid #000;
            margin: 0 auto;           // 让盒子左右自动适应,想当于 left:auto; right:auto
        }

2. Logra el centrado calculando los márgenes izquierdo y derecho del margen.

.father {
    
    
            width: 500px;
            height: 500px;
            background-color: skyblue;
            border: 1px solid #000;
            margin: 50px auto;

        }
        .son {
    
    
            width: 200px;
            height: 200px;
            background-color: pink;
            border: 1px solid #000;
            margin-left: 149px;          // 父盒子的定宽的,指定 margin-left 即可
        }

3. Primero, haga que los bordes izquierdo y derecho del cuadro sean perpendiculares a la línea central vertical del cuadro principal y luego mueva el cuadro secundario hacia atrás la mitad de su propio ancho.

/* 通过 transform 实现*/
    .father {
    
    
            width: 500px;
            height: 500px;
            background-color: skyblue;
            border: 1px solid #000;
            margin: 50px auto;

        }
        .son {
    
    
            width: 200px;
            height: 200px;
            background-color: pink;
            border: 1px solid #000;
            margin-left: 50%;                // 先移动父盒子的一半
            transform: translateX(-50%);     // 再移动自身盒子一半

        }
    /*通过 定位实现*/
    .father {
    
    
            width: 500px;
            height: 500px;
            background-color: skyblue;
            border: 1px solid #000;
            margin: 50px auto;
            position: relative;

        }
        .son {
    
    
            width: 200px;
            height: 200px;
            background-color: pink;
            border: 1px solid #000;
            position: absolute;
            left: 50%;                       // 向右移动父盒子一半
            margin-left: -100px;             // 向左移动自身盒子一半
            /* transform: translateX(-50%); */    //向左移动自身盒子一半 38 }

4. Convierta el cuadro en un bloque en línea y luego use el atributo de alineación de texto para centrar el cuadro horizontalmente.

.father {
    
    
            width: 500px;
            height: 500px;
            background-color: skyblue;
            border: 1px solid #000;
            margin: 50px auto;
            text-align: center;               // 让父盒子设置水平居中

        }
        .son {
    
    
            width: 200px;
            height: 200px;
            background-color: pink;
            border: 1px solid #000;
            display: inline-block;            // 让子盒子显示为行内块模式
        }

Supongo que te gusta

Origin blog.csdn.net/weixin_44433499/article/details/107412988
Recomendado
Clasificación