zoukankan      html  css  js  c++  java
  • 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;
    }
    

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

  • 相关阅读:
    SQL中JOIN 的用法
    ava中普通代码块,构造代码块,静态代码块区别及示例
    javabean的内省技术和BeanUtils的使用
    Tomcat服务器学习和使用(一)
    增强For循环
    JAVA单态设计模式
    关于枚举的整理
    java中遍历MAP的几种方法
    equals和==的区别
    深入剖析Java中的装箱和拆箱
  • 原文地址:https://www.cnblogs.com/shenxianhui/p/9361939.html
Copyright © 2011-2022 走看看