css 元素各種居中方法
阿新 • • 發佈:2018-12-10
①、 常用水平居中:給div設定一個寬度,寬度是必要條件,然後新增margin:0 auto屬性
div{
width:200px;
margin:0 auto;
}
②、絕對定位居中
絕對定位使元素的位置與文件流無關,因此不佔據空間。
絕對定位的元素的位置相對於最近的已定位祖先元素,如果元素沒有已定位的祖先元素,那麼它的位置相對於最初的包含塊。
水平居中:left屬性和right屬性的值相對即可,不一定為0
div { position: absolute; width: 300px; height: 300px; left: 0; right: 0; margin: o auto; background-color: pink; }
垂直居中:top屬性和bottom屬性的值相對即可,不一定為0
div {
position: absolute;
width: 300px;
height: 300px;
top: 0;
bottom: 0;
margin: auto 0;
background-color: pink;
}
③、外邊距定位居中
left屬性值為50%,則margin-left為width的一半即可(負數)
div { position: relative; /* 相對定位或絕對定位均可 */ width:500px; height:300px; top: 50%; left: 50%; margin: -150px 0 0 -250px; /* 外邊距為自身寬高的一半 */ background-color: pink; }
④、未知父容器的寬高,利用 `transform` 屬性
div {
position: absolute; /* 相對定位或絕對定位均可 */
width:500px;
height:300px;
top: 50%;
left: 50%;
transform: translate(-50%, -50%);
background-color: pink; /* 方便看效果 */
}
⑤、利用flex佈局,因為flex屬性是css3的特性,需要考慮瀏覽器的相容性
.container { display: flex; align-items: center; /* 垂直居中 */ justify-content: center; /* 水平居中 */ } .container div { width: 100px; height: 100px; background-color: pink; /* 方便看效果 */ }