居中布局多种方式归纳

水平居中:

 

1.inline-block+text-align (居中的情况必须子原素是inline)

代码:

.parent{  
   background: #eee;
   width: 200px;  
   text-align: center;    
}
.child{
  display: inline-block;
  background: #000;
  color: #fff;  
}

 

2.table+margin

.parent{
        background: #eee;
        width: 200px;
    }
    .child{
        display:table;
        margin:0 auto;
        background: #000;
        color: #fff;
    }

 

3.absolute+transform(translateX是相对与自身的计算)

.parent{
        background: #eee;
        width: 200px;
        height: 50px;
        /* ---------- */
        position: relative;
        
       
    }
    .child{
        background: #000;
        color: #fff;
         /* ---------- */
         position: absolute;
         left: 50%;
         transform:translateX(-50%) ; 
    }

 

4.flex+justify-content

 .parent{
        background: #eee;
        width: 200px;
        height: 50px;
        /* ---------- */
        display: flex;
        justify-content: center;
    }
    .child{
        background: #000;
        color: #fff;
         /* ---------- */
    }

垂直居中

1.table-cell+vertical-align

.parent{
        background: #eee;
        width: 100px;
        height: 200px;
        /* ---------- */
        display: table-cell;
        vertical-align: middle;
    }
    .child{
        width: 100px;
        height: 100px;
        background: #000;
        color: #fff;
         /* ---------- */
    }

2.absolute+transform

 .parent{
        background: #eee;
        width: 100px;
        height: 200px;
        /* ---------- */
        position: relative;
    }
    .child{
        width: 100px;
        height: 100px;
        background: #000;
        color: #fff;
         /* ---------- */
         position: absolute;
         top:50%;
         transform: translateY(-50%);
    }

3.flex+align-items

.parent{
        background: #eee;
        width: 100px;
        height: 200px;
        /* ---------- */
        display: flex;
        align-items: center;
    }
    .child{
        width: 100px;
        height: 100px;
        background: #000;
        color: #fff;
         /* ---------- */
    }

水平竖直居中

1. inline-block+text-align +table-cell+vertical-align

 .parent{
        background: #eee;
        width: 100px;
        height: 200px;
        /* ---------- */
        text-align: center;
        display: table-cell;
        vertical-align: middle;
       
    }
    .child{
        width: 50px;
        height: 50px;
        background: #000;
        color: #fff;
         /* ---------- */
         display: inline-block;
    }

2.absolute+transform

 .parent{
        background: #eee;
        width: 100px;
        height: 200px;
        /* ---------- */
        position: relative;
       
    }
    .child{
        width: 50px;
        height: 50px;
        background: #000;
        color: #fff;
         /* ---------- */
         position: absolute;
         left: 50%;
         top:50%;
         transform: translate(-50%,-50%);
    }

 

 

3.flex+justify-content+align-items

.parent{
        background: #eee;
        width: 100px;
        height: 200px;
        /* ---------- */
        display: flex;
        justify-content: center;
        align-items: center;
       
    }
    .child{
        width: 50px;
        height: 50px;
        background: #000;
        color: #fff;
         /* ---------- */
       
    }

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值