摘要:總結(jié)常用垂直居中方法與方法實(shí)現(xiàn)居中這是比較常用的方法。絕對(duì)居中實(shí)現(xiàn)垂直居中這是一個(gè)兼容性比較好的能夠?qū)崿F(xiàn)垂直居中的方法。
CSS—總結(jié)常用垂直居中方法 1、text-align與line-hight方法實(shí)現(xiàn)居中
這是比較常用的方法。通過(guò)line-hight來(lái)設(shè)置行間距是實(shí)現(xiàn)垂直居中的關(guān)鍵
.wrap{ width: 500px; heidth: 200px; line-height:200px; background: #80ff80; text-align:center; fontsize: 20px }2、利用padding和background-clip實(shí)現(xiàn)水平垂直居中
通過(guò)background-clip設(shè)置為center-box,將背景裁剪到內(nèi)容區(qū)外沿,再利用padding設(shè)為外div減去內(nèi)div的差的一一半來(lái)實(shí)現(xiàn)
.parent{ margin: 0 auto; width: 250px; heidth: 250px; background: #80ff80; } .child img { width: 150px; heidth: 150px; padding 50px; background-clip: center-box; }3、使用transform實(shí)現(xiàn)垂直居中
其百分比計(jì)算不是以父元素為基準(zhǔn),而是以自己為基準(zhǔn),適用于沒(méi)固定大小的內(nèi)容,min-width、max-width、overflow:scroll等。使用這個(gè)屬性時(shí),不必定義子容器的高度,其會(huì)根據(jù)內(nèi)容來(lái)自適應(yīng)高度。但是IE8以下的瀏覽器不支持,而且屬性需要寫(xiě)瀏覽器廠商的名字,還有可能會(huì)干擾其他transform的效果。
.parent{ width:300px; height: 300px; margin: 0 auto; background: #89ff89; position: relative; } .child{ position: absolute; left: 50%; top: 50%; -webkit-transform:translate(-50%, -50%); -ms-transform: translate(-50%, -50%); transform: translate(-50%, -50%); text-align: center }4、絕對(duì)居中實(shí)現(xiàn)垂直居中
這是一個(gè)兼容性比較好的能夠?qū)崿F(xiàn)垂直居中的方法。
可以通過(guò)設(shè)置內(nèi)容元素:position: fixed,z-index: 999成為視口居中,
更改百分比寬高、最大最小寬度使其能夠?qū)崿F(xiàn)響應(yīng),
只要 margin:auto,內(nèi)容塊將垂直居中,使用top、left、button、right可以設(shè)置偏移
居中內(nèi)容比父容器高時(shí),加overflow:auto可防止內(nèi)容溢出
但是唯一的確定就是父容器的高度必須是可知的。
.parent{ width:400px; min-height: 400px; margin: 0 auto; background: #89ff89; position: relative; } .child{ width:100%; height:80%; overflow:auto; margin:auto; position: absolute; left: 0; top: 0; bottom: 0; right: 0; text-align: center }5、負(fù)外邊距實(shí)現(xiàn)垂直居中
這是比較流行的一種方法,當(dāng)塊元素尺寸已知,外邊距margin取負(fù)數(shù),大小為 (width/heigth + pdding)/2,加上top和left各為50%,這個(gè)方法兼容IE6以上的IE瀏覽器,代碼量也比較少。但是不能自適應(yīng),不支持百分比尺寸和 min-/max- 屬性設(shè)置,內(nèi)容可能會(huì)溢出容器,需要計(jì)算margin的取值
.child{ width:200px; height:300px; padding:20px; position: absolute; left: 50%; top: 50%; margin-left: -120px; margin-top: -170px; text-align: center }6、表單元(table-cell)實(shí)現(xiàn)垂直居中
其內(nèi)容塊高度可以隨著實(shí)際內(nèi)容的高度而變化,內(nèi)容溢出時(shí)父元素會(huì)自己撐開(kāi),在瀏覽器中的兼容性也比較好,但是需要三層元素才能使最內(nèi)層的元素居中
.wrap .is-table { display: table; } .is-table .table-cell{ display:table-cell; vertical-align: middle; max-width:500px; min-height: 400px; background: #0ff80 } .table-cell .box{ width: 80%; margin: 0 auto; text-align: center;000008 }7、使用flexbox實(shí)現(xiàn)垂直居中
使用flexbox實(shí)現(xiàn)垂直居中很方便而且代碼簡(jiǎn)潔, align-items 使元素水平居中, justify-content 是元素垂直居中
但是其兼容性不是很好,對(duì)于IE只能兼容10以上,但是隨著IE一些比較低的版本逐漸退出市場(chǎng),flexbox的布局也將成為趨勢(shì)
.parent{ display: flex; align-items: center; justify-content:center; width:400px; background: #89ff89; } .child{ text-align: center; padding: 10px; }
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://www.ezyhdfw.cn/yun/115678.html
摘要:作為一名程序媛在編寫(xiě)頁(yè)面的時(shí)候經(jīng)常還會(huì)遇到水平或者垂直居中的一些布局今天正好有空就把各種居中的方式都總結(jié)了一下分享給大家希望能給大家?guī)?lái)幫助已知寬高背景圖與背景圖上的文字都水平垂直居中有寬度的水平居中有絕對(duì)定位的水平居中 作為一名程序媛在編寫(xiě)頁(yè)面的時(shí)候經(jīng)常還會(huì)遇到水平或者垂直居中的一些布局今天正好有空就把各種居中的方式都總結(jié)了一下分享給大家希望能給大家?guī)?lái)幫助 1.已知寬高背景圖與背景...
摘要:作為一名程序媛在編寫(xiě)頁(yè)面的時(shí)候經(jīng)常還會(huì)遇到水平或者垂直居中的一些布局今天正好有空就把各種居中的方式都總結(jié)了一下分享給大家希望能給大家?guī)?lái)幫助已知寬高背景圖與背景圖上的文字都水平垂直居中有寬度的水平居中有絕對(duì)定位的水平居中 作為一名程序媛在編寫(xiě)頁(yè)面的時(shí)候經(jīng)常還會(huì)遇到水平或者垂直居中的一些布局今天正好有空就把各種居中的方式都總結(jié)了一下分享給大家希望能給大家?guī)?lái)幫助 1.已知寬高背景圖與背景...
摘要:高度模型淺識(shí)為的簡(jiǎn)寫(xiě),簡(jiǎn)稱為塊級(jí)格式化上下文,為瀏覽器渲染某一區(qū)域的機(jī)制,中只有和中還增加了和。并非所有的布局都會(huì)在開(kāi)發(fā)中使用,但是其中也會(huì)涉及一些知識(shí)點(diǎn)。然而在不同的純制作各種圖形純制作各種圖形多圖預(yù)警 一勞永逸的搞定 flex 布局 尋根溯源話布局 一切都始于這樣一個(gè)問(wèn)題:怎樣通過(guò) CSS 簡(jiǎn)單而優(yōu)雅的實(shí)現(xiàn)水平、垂直同時(shí)居中。記得剛開(kāi)始學(xué)習(xí) CSS 的時(shí)候,看到 float 屬性不...
閱讀 3220·2021-11-15 18:14
閱讀 1853·2021-09-22 10:51
閱讀 3364·2021-09-09 09:34
閱讀 3583·2021-09-06 15:02
閱讀 1121·2021-09-01 11:40
閱讀 3251·2019-08-30 13:58
閱讀 2583·2019-08-30 11:04
閱讀 1152·2019-08-28 18:31