欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

元素的居中

程序员文章站 2022-05-01 23:27:50
...

1.不确定宽高的情况下实现盒子的居中(无兼容问题)

/* 不确定宽高的情况下实现盒子的居中
左右的百分比是相等的,两个之间相加不能大于100%*/
#box {
    position: absolute;
    left: 10%;
    right: 10%;
    top: 25%;
    bottom: 25%;
    background-color: #0ff;
}

2.固定的宽高(IE9+以上,最简单)

           *{
                margin: 0;  
                padding: 0;  
            }  
            .big{  
                width: 400px;  
                height: 400px;  
                background: blue;  
                border-top: 1px solid transparent;  
            }  
            .big>div{  
                width: 200px;  
                height: 200px;  
                background: red;  
                 /* 知道元素的宽高*/
                 /* 设置水平垂直自动适应*/
                margin: auto;
   /* 当 margin : 0 auto; 需要兼容的时候,可以设置 text-align : center;
   (两个条件: 必须有宽 必须是块级元素 ) */  
            }  

3.用弹性盒子布局(IE9+以上)

    *{  
                margin: 0;  
                padding: 0;  
            }  
            /* 设置高为 100 的必要条件*/
            html {
                height : 100%;
            }
            body {
                height: 100%;
            }
          .big{  
        /* 设置高  设置父盒子的flex
        设置水平居中 和 垂直居中 */
            height: 100%;
           display: flex;
           align-items: center;
           justify-content: center;  
        }  
        .big>div{  
            width: 200px;  
            height: 200px;  
            background: red;  

        }  

/* 如果知道两个盒子的宽高,可以通过margin 0 auto ,和设置上下的边距 */;

4.用position定位(无兼容问题,需要知道宽高)

        *{  
                margin: 0;  
                padding: 0;  
            }  
          .big{  
                width: 400px;  
                height: 400px;  
                background: blue;  
                position: relative;  
            } 
            .big>div{  
                width: 200px;  
                height: 200px;  
                background: red;  
                position: absolute;  
                top: 50%;  
                left: 50%;  
              margin-left: -100px;
              margin-top: -100px;
               /* transform : translate(-50%,-50%) 
                有兼容的问题,需要IE9+以上*/
            }  
相关标签: 元素居中