• div 居中方法汇总


    本文是从简书复制的, markdown语法可能有些出入, 想看"正版"和更多内容请关注 简书: 小贤笔记

    情况一: 父子容器宽高已知

    方法一

    • html
    <div class="father">
        <div class="son"></div>
    </div>
    
    • css
    .father {
        position: relative;
         1000px;
        height: 600px;
        background: lightblue;
    }
    .son {
        position: absolute;
         100px;
        height: 100px;
        background: yellow;
        top: 50%;
        margin-top: -50px; /* 高度的一半 */
        left: 50%;
        margin-left: -50px; /* 宽度的一半 */
    }
    

    方法二

    利用 margin: auto; 自动分配多余空间

    • html
    <div class="father">
        <div class="son"></div>
    </div>
    
    • css
    .father {
        position: relative;
         1000px;
        height: 600px;
        background: lightblue;
    }
    .son {
        position: absolute;
         100px;
        height: 100px;
        background: yellow;
        top: 0;
        right: 0;
        bottom: 0;
        left: 0;
        margin: auto;
    }
    

    top、left、right、bottom 的值相等即可,不一定要都是0

    方法三

    用 Flex 布局

    • html
    <div class="father">
        <div class="son"></div>
    </div>
    
    • css
    .father {
         1000px;
        height: 600px;
        background: lightblue;
        display: flex;
        align-items: center; /* 垂直居中 */
        justify-content: center; /* 水平居中 */
    }
    .son {
         100px;
        height: 100px;
        background: yellow;
    }
    

    情况二: 父子容器宽高未知

    方法一

    • html
    <div class="father">
        <div class="son"></div>
    </div>
    
    • css
    .father {
        position: relative;
         1000px;
        height: 600px;
        background: lightblue;
    }
    .son {
        position: absolute;
         100px;
        height: 100px;
        background: yellow;
        top: 50%;
        left: 50%;
        transform: translate(-50%, -50%);
    }
    

    方法二

    用 Flex 布局

    • html
    <div class="father">
        <div class="son"></div>
    </div>
    
    • css
    .father {
         1000px;
        height: 600px;
        background: lightblue;
        display: flex;
        align-items: center; /* 垂直居中 */
        justify-content: center; /* 水平居中 */
    }
    .son {
         100px;
        height: 100px;
        background: yellow;
    }
    

    还有其他方法的小伙伴们欢迎补充 谢谢!

  • 相关阅读:
    usually study notebook
    (转)轻松掌握shell编程中数组的常见用法及示例
    (转)python学习链接
    (转)Python作业day2购物车
    (转)python 列表与元组的操作简介
    (转)总结Linux的chattr与lsattr命令详解
    mysql特殊语句学习
    PHP位操作符
    html5中script的async属性
    jquery资源
  • 原文地址:https://www.cnblogs.com/shenxianhui/p/9361939.html
Copyright © 2020-2023  润新知