html+css, 讓div水平垂直居中的幾種方式
阿新 • • 發佈:2018-12-13
在web前端開發中經常需要使用到讓div進行水平和垂直居中的技術,現在我們就來談談如何實現div水平垂直居中(如下圖所示)
div元素在螢幕上水平垂直居中的三種方法
HTML中有個class為box的div元素,通過修改css樣式讓box元素在頁面水平垂直居中顯示
<body>
<div class="box">
</div>
</body>
方法一(margin: auto實現絕對定位元素的居中)
.box { width: 200px; height: 200px; background: burlywood; position: absolute; top: 0; bottom: 0; left: 0; right: 0; margin: auto; }
方法二(margin負間距) 注意:margin-top和margin-left的取值是根據元素寬高值除以2所得到的
.box {
width: 200px;
height: 200px;
background: burlywood;
position: absolute;
top: 50%;
left: 50%;
margin-top: -100px;
margin-left: -100px;
}
方法三 (tansform平移法) 注意:IE8以下瀏覽器不支援
.box { width: 200px; height: 200px; background: burlywood; position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); }
div元素在父元素中水平垂直居中的兩種方法
<body>
<div class="boxWrap">
<div class="box">
</div>
</div>
</body>
方法一(利用css3新增屬性table-cell,vertical-aligen: middel)
.boxWrap { width: 200px; height: 200px; display: table-cell; vertical-align: middle; } .box { width: 50px; height: 50px; background: burlywood; margin: auto; }
方法二(在父元素上使用flexbox彈性佈局)
.boxWrap {
width: 200px;
height: 200px;
display: flex;
justify-content: center;
align-items: center;
}
.box {
width: 50px;
height: 50px;
background: burlywood;
}