CSS盒子居中的几种方法

第一种:用css的position属性

按 Ctrl+C 复制代码

<style type="text/css">
  .wrapper{
     width:500px;
     height:500px;
     border:1px solid #bbb;
     position:relative;  /*给父元素设置相对定位*/
  }
  .demo{
     width:200px;
     height:200px;
     background:#ff6700;
     position:absolute;   /*给子元素设置绝对定位*/
     top:0;
     bottom:0;
     left:0;
     right:0;
     margin:auto;
  }
  </style>

  <div class="wrapper">
     <div class="demo">text</div> 
  </div>
第二种:利用css3的新增属性table-cell, vertical-align:middle;
<style type="text/css">
        .wrapper{
            width: 200px; 
            height: 200px; 
            display: table-cell;
            vertical-align: middle;
            border:1px solid rgb(0, 0, 0);
        }
        .demo{
            width:100px ; 
            height: 100px; 
            margin: auto;
            background:#ff6700;
        }
    </style>
  
   <div class="wrapper">
      <div class="demo">text</div> 
   </div>
第三种:利用定位线左上角居中,然后左移子元素宽度的一半,再上移子元素高度的一半。
<style type="text/css">
  .wrapper{
     width:500px;
     height:500px;
     border:1px solid #bbb;
     position:relative;  /*给父元素设置相对定位*/
  }
  .demo{
     width:200px;
     height:200px;
     background:#ff6700;
     position:absolute;  /*给子元素设置绝对定位*/
     top:50%;
     margin-top:-100px;
     left:50%;
     margin-left:-100px;
  }
  </style>
  
  <div class="wrapper">
     <div class="demo">text</div> 
  </div>
第四种:弹性布局
<style type="text/css">
.wrapper{
     width:500px;
     height:500px;
     border:1px solid #bbb;
     display:flex;            /*css3盒模型*/
     justify-content: center;
     align-items:center;
  }
  .demo{
     width:200px;
     height:200px;
     background:#ff6700;
  }
  </style>
  
  <div class="wrapper">
     <div class="demo">text</div> 
  </div>
第五种:利用transform的属性,注意子绝父相定位
缺点:需要支持Html5
<style type="text/css">
  .wrapper{
     width:500px;
     height:500px;
     border:1px solid #bbb;
     position:relative;     /*给父元素设置相对定位*/
  }
  .demo{
     width:200px;
     height:200px;
     background:#ff6700;
     position:absolute;    /*给子元素设置绝对定位*/
     top:50%;
     left:50%;
     -ms-transform: translate(-50%, -50%);
     -moz-transform: translate(-50%, -50%);
     -o-transform: translate(-50%, -50%);
     transform: translate(-50%, -50%);   /*css3属性*/
  }
  </style>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值