真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

【面試題】CSS 中幾種最常用的水平垂直居中的方法

CSS 中幾種最常用的水平垂直居中的方法

點擊打開視頻講解更加詳細(xì)

創(chuàng)新互聯(lián)公司堅持“要么做到,要么別承諾”的工作理念,服務(wù)領(lǐng)域包括:成都網(wǎng)站建設(shè)、做網(wǎng)站、企業(yè)官網(wǎng)、英文網(wǎng)站、手機端網(wǎng)站、網(wǎng)站推廣等服務(wù),滿足客戶于互聯(lián)網(wǎng)時代的榆樹網(wǎng)站設(shè)計、移動媒體設(shè)計的需求,幫助企業(yè)找到有效的互聯(lián)網(wǎng)解決方案。努力成為您成熟可靠的網(wǎng)絡(luò)建設(shè)合作伙伴!

一、使用 margin:auto

當(dāng)元素有給定的高度以及寬度的時候,使用 margin: auto; 元素僅會水平居中,并不會進行垂直居中。
此時就需要設(shè)置元素的 position 為 absolute,父級元素的 position 為 relative,同時元素的上下左右都需要設(shè)置為 0。
.box{ width: 200px; height: 200px; background-color: #eee; position: relative; margin-top: 20px; } .center1{ width: 50px; height: 50px; background-color: #00ACED; margin: auto; position: absolute; top: 0; left: 0; right: 0; bottom: 0; }

效果展示:

二、使用 position:absolute

當(dāng)已經(jīng)知道了要進行水平垂直居中的元素的寬高時,就可以通過設(shè)置 position: absolute 來實現(xiàn)。
但是,使用的同時還需要結(jié)合其他屬性才完整實現(xiàn)。
因為,單是設(shè)置 absolute,上左距離均為一半,就會出現(xiàn)下面這種情況。
很顯然可以看到,元素并不是完全居中,僅只有左上角的位置在中心點。

概念圖:

因此想要實現(xiàn)元素完全水平垂直居中,在設(shè)置了 absolute 定位后,可以設(shè)置 margin 值為負(fù),或者使用 calc 來計算,上左距離在 50% 的基礎(chǔ)上還要減去元素本身一半的寬高。

margin 值為負(fù)或者 calc 計算均是在已知元素寬高的情況下,假設(shè)不知道元素的寬高,那么怎么實現(xiàn)水平垂直居中呢?這里就可以使用 transform 屬性,通過坐標(biāo)位移來實現(xiàn)居中。

/* 結(jié)合 margin */
.center2{  
	width: 50px;  
	height: 50px;  
	background-color: #7FFFD4;  
	position: absolute;  
	left: 50%;  
	top: 50%;  
	margin-left: -25px;  
	margin-top: -25px;
}
/* 結(jié)合 calc 計算*/
.center2{  
	width: 50px;  
	height: 50px;  
	background-color: #7FFFD4;  
	position: absolute;  
	left: calc(50% - 25px)  
	top: calc(50% - 25px);
}
/* 結(jié)合 transform */
.center2{
	width: 50px;
	height: 50px;
	background-color: #7FFFD4;
	position: absolute;
	left: 50%;
	top: 50%;
	transform: translate(-50%, -50%);
}

效果展示:

三、使用彈性布局

可以通過彈性布局來設(shè)置水平垂直居中,這里需要設(shè)置父級元素 display:flex; 還需要設(shè)置兩個屬性,
水平布局 justify-content 以及垂直布局 align-items。
.box2{ background-color: #eee; width: 200px; height: 200px; position: relative; margin-top: 20px ; display: flex; justify-content: center; align-items: center; } .center4{ width: 50px; height: 50px; background-color: #B; }

效果展示:

四、文本水平對齊和行高

前面介紹的是元素如何實現(xiàn)水平垂直居中,下面介紹的是如何將文字進行水平垂直居中。
這第一個方法也是最經(jīng)常用的,使用文本水平對齊 text-align 和行高 line-height 來實現(xiàn)的。
文字居中
.box3{ background-color: #eee; width: 200px; height: 200px; margin-top: 20px; } .center5{ text-align: center; line-height: 200px; }

效果展示:

五、使用網(wǎng)格布局

第二個方法可以通過網(wǎng)格布局 grid 來實現(xiàn)。而這里通過 grid 有兩種方式實現(xiàn),一種對元素本身屬性進行設(shè)置,另一種在元素的父級元素中設(shè)置。兩者看上去內(nèi)容似乎差不多,不同的是在元素中設(shè)置的是 align-self 還要多了一個 margin,父級元素中是 align-items。

/* grid 元素中設(shè)置 */
.box4{  
	background-color: #eee;  
	width: 200px;  
	height: 200px;  
	margin-top: 20px;  
	display: grid;
}
.center6{  
	align-self: center;  
	justify-content: center;  
	margin: auto;
}
/* grid 父級元素中設(shè)置 */
.box5{  
	background-color: #eee;  
	width: 200px;  
	height: 200px;  
	margin-top: 20px;  
	display: grid;  
	align-items: center;  
	justify-content: center;
}

效果展示:

若對您有幫助,請點擊跳轉(zhuǎn)到B站一鍵三連哦!感謝支持!??!


當(dāng)前標(biāo)題:【面試題】CSS 中幾種最常用的水平垂直居中的方法
瀏覽路徑:http://weahome.cn/article/dsojsih.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部