• css参考---实现元素水平垂直居中


    css参考---实现元素水平垂直居中

    一、总结

    一句话总结:

    方式一:绝对定位+margin: auto;:子元素绝对定位,并且偏移全为0,margin设置为auto
    方式二:绝对定位+margin自身负偏移:子元素绝对定位且左(left)上(top)偏移50%,再margin负偏移左(left)上(top)自身的一半
    方式三:绝对定位+transform:translate 平移方式:子元素绝对定位且左(left)上(top)偏移50%,使用transform:translate实现自身左上偏移50%
    方式四:弹性盒子:设置父元素为弹性盒子,并且设置主轴对齐方式(justify-content)和侧轴对齐方式(align-items)都为center

    1、实现元素水平垂直居中 方式一:绝对定位+margin: auto;?

    子元素绝对定位,并且偏移全为0,margin设置为auto
    .parent_box{
        width: 400px;
        height: 400px;
        background-color: lightseagreen;
        position: relative;
    }
    .child_box{
        width: 200px;
        height: 200px;
        background-color: red;
        position: absolute;
        left: 0;
        right: 0;
        top: 0;
        bottom: 0;
        margin: auto;
    }

    2、实现元素水平垂直居中 方式二:绝对定位+margin自身负偏移?

    子元素绝对定位且左(left)上(top)偏移50%,再margin负偏移左(left)上(top)自身的一半
    .parent_box{
        width: 400px;
        height: 400px;
        background-color: lightseagreen;
        position: relative;
    }
    .child_box{
        width: 200px;
        height: 200px;
        background-color: red;
        position: absolute;
        left: 50%;
        top: 50%;
        margin-left: -100px;
        margin-top: -100px;
    }

    3、实现元素水平垂直居中 方式三:绝对定位+transform:translate 平移方式?

    子元素绝对定位且左(left)上(top)偏移50%,使用transform:translate实现自身左上偏移50%
    .parent_box{
        width: 400px;
        height: 400px;
        background-color: lightseagreen;
        position: relative;
    }
    .child_box{
        width: 200px;
        height: 200px;
        background-color: red;
        position: absolute;
        left: 50%;
        top: 50%;
        transform: translate(-50%,-50%);
    }

    4、实现元素水平垂直居中 方式四:弹性盒子?

    设置父元素为弹性盒子,并且设置主轴对齐方式(justify-content)和侧轴对齐方式(align-items)都为center
    .parent_box{
        width: 400px;
        height: 400px;
        background-color: lightseagreen;
        display: flex;
        justify-content: center;
        align-items: center;
    }
    .child_box{
        width: 200px;
        height: 200px;
        background-color: red;
    }

    二、实现元素水平垂直居中

    博客对应课程的视频位置:

    方式一:绝对定位+margin: auto;:

    子元素绝对定位,并且偏移全为0,margin设置为auto

     1 .parent_box{
     2     width: 400px;
     3     height: 400px;
     4     background-color: lightseagreen;
     5     position: relative;
     6 }
     7 .child_box{
     8     width: 200px;
     9     height: 200px;
    10     background-color: red;
    11     position: absolute;
    12     left: 0;
    13     right: 0;
    14     top: 0;
    15     bottom: 0;
    16     margin: auto;
    17 }

    方式二:绝对定位+margin自身负偏移:

    子元素绝对定位且左(left)上(top)偏移50%,再margin自身负偏移左(left)上(top)自身的一半

     1 .parent_box{
     2     width: 400px;
     3     height: 400px;
     4     background-color: lightseagreen;
     5     position: relative;
     6 }
     7 .child_box{
     8     width: 200px;
     9     height: 200px;
    10     background-color: red;
    11     position: absolute;
    12     left: 50%;
    13     top: 50%;
    14     margin-left: -100px;
    15     margin-top: -100px;
    16 }

    方式三:绝对定位+transform:translate 平移方式:

    子元素绝对定位且左(left)上(top)偏移50%,使用transform:translate实现自身左上偏移50%

     1 .parent_box{
     2     width: 400px;
     3     height: 400px;
     4     background-color: lightseagreen;
     5     position: relative;
     6 }
     7 .child_box{
     8     width: 200px;
     9     height: 200px;
    10     background-color: red;
    11     position: absolute;
    12     left: 50%;
    13     top: 50%;
    14     transform: translate(-50%,-50%);
    15 }

    方式四:弹性盒子:

    设置父元素为弹性盒子,并且设置主轴对齐方式(justify-content)和侧轴对齐方式(align-items)都为center

     1 .parent_box{
     2     width: 400px;
     3     height: 400px;
     4     background-color: lightseagreen;
     5     display: flex;
     6     justify-content: center;
     7     align-items: center;
     8 }
     9 .child_box{
    10     width: 200px;
    11     height: 200px;
    12     background-color: red;
    13 }
     
  • 相关阅读:
    error: readline/readline.h: No such file or directory
    ImportError: No module named setuptools
    ImportError: No module named argparse
    为python安装pip
    yum源安装配置
    n元一维向量向左循环移位i的几种算法
    以空间换时间编程策略的细节问题以及解决方案
    Hash(散列函数)简单应用引出解决散列冲突的四种方法
    随机取样
    排序问题
  • 原文地址:https://www.cnblogs.com/Renyi-Fan/p/12526349.html
Copyright © 2020-2023  润新知