1. 程式人生 > >css 元素各種居中方法

css 元素各種居中方法

①、  常用水平居中:給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;		/* 方便看效果 */
}