CSS垂直水平居中

Posted chorkiu

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了CSS垂直水平居中相关的知识,希望对你有一定的参考价值。

                 技术图片

  [已知宽高]

  1. 已知宽高 [父元素相对定位,子元素绝对定位 top left margin-top margin-left]
    .box 
        position: relative;
        width: 300px;
        height: 300px;
        border: 1px solid #000;
    
    .center 
        background-color: red;
        width: 100px;
        height: 100px;
        position: absolute;
        top: 50%;
        left: 50%;
        margin-top: -50px;
        margin-left: -50px;
    

  2.已经知宽高[父元素相对定位,子元素绝对定位 top为0,bottom为0,left为0,right为0,margin为auto]

    .box
        width:300px;
        height:300px;
        border:1px solid black;
        position: relative;
    
    .center
        background: red;
        width:100px;
        height:100px;
        margin:auto;
        bottom: 0;
        top:0;
        left:0;
        right:0;
        position: absolute;
    

  [未知宽高]

  1.未知宽高[CSS3的transform,绝对定位,top为50%,left为50%] transform只兼容到IE9

 .box
        width:300px;
        height:300px;
        border:1px solid black;
        position: relative;
    
    .center
        background: red;
        position: absolute;
        top: 50%;
        left: 50%;
        transform: translate(-50%,-50%)
    

  2.未知宽高[flex布局,justify-content: center;align-items: center;]  flex只兼容到IE10

 .box
        width:300px;
        height:300px;
        border:1px solid black;
        display: flex;
        justify-content: center;
        align-items: center;
    
    .center
        background: red;
    

  

有两种情况:

情况一:内容不过多,可是实现垂直水平居中                                                       情况二:内容过多的话,只能实现垂直居中(如果想实现水平垂直居中,需要定宽)

技术图片                                           技术图片

 

以上是关于CSS垂直水平居中的主要内容,如果未能解决你的问题,请参考以下文章

如何使文字在div中水平和垂直居中的css代码

Swift:如何在垂直stackview中水平居中元素

模态框中水平垂直居的问题

如何在 Tailwind CSS 中水平居中导航栏内容

如何使用 CSS 字段样式在网格中水平居中视图字段

让子元素在父元素中水平居中align-items