摘要:總結(jié)常用垂直居中方法與方法實現(xiàn)居中這是比較常用的方法。絕對居中實現(xiàn)垂直居中這是一個兼容性比較好的能夠?qū)崿F(xiàn)垂直居中的方法。
CSS—總結(jié)常用垂直居中方法 1、text-align與line-hight方法實現(xiàn)居中
這是比較常用的方法。通過line-hight來設(shè)置行間距是實現(xiàn)垂直居中的關(guān)鍵
.wrap{ width: 500px; heidth: 200px; line-height:200px; background: #80ff80; text-align:center; fontsize: 20px }2、利用padding和background-clip實現(xiàn)水平垂直居中
通過background-clip設(shè)置為center-box,將背景裁剪到內(nèi)容區(qū)外沿,再利用padding設(shè)為外div減去內(nèi)div的差的一一半來實現(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實現(xiàn)垂直居中
其百分比計算不是以父元素為基準(zhǔn),而是以自己為基準(zhǔn),適用于沒固定大小的內(nèi)容,min-width、max-width、overflow:scroll等。使用這個屬性時,不必定義子容器的高度,其會根據(jù)內(nèi)容來自適應(yīng)高度。但是IE8以下的瀏覽器不支持,而且屬性需要寫瀏覽器廠商的名字,還有可能會干擾其他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、絕對居中實現(xiàn)垂直居中
這是一個兼容性比較好的能夠?qū)崿F(xiàn)垂直居中的方法。
可以通過設(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)容比父容器高時,加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ù)外邊距實現(xiàn)垂直居中
這是比較流行的一種方法,當(dāng)塊元素尺寸已知,外邊距margin取負(fù)數(shù),大小為 (width/heigth + pdding)/2,加上top和left各為50%,這個方法兼容IE6以上的IE瀏覽器,代碼量也比較少。但是不能自適應(yīng),不支持百分比尺寸和 min-/max- 屬性設(shè)置,內(nèi)容可能會溢出容器,需要計算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)實現(xiàn)垂直居中
其內(nèi)容塊高度可以隨著實際內(nèi)容的高度而變化,內(nè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實現(xiàn)垂直居中
使用flexbox實現(xiàn)垂直居中很方便而且代碼簡潔, align-items 使元素水平居中, justify-content 是元素垂直居中
但是其兼容性不是很好,對于IE只能兼容10以上,但是隨著IE一些比較低的版本逐漸退出市場,flexbox的布局也將成為趨勢
.parent{ display: flex; align-items: center; justify-content:center; width:400px; background: #89ff89; } .child{ text-align: center; padding: 10px; }
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/115678.html
摘要:作為一名程序媛在編寫頁面的時候經(jīng)常還會遇到水平或者垂直居中的一些布局今天正好有空就把各種居中的方式都總結(jié)了一下分享給大家希望能給大家?guī)韼椭阎獙捀弑尘皥D與背景圖上的文字都水平垂直居中有寬度的水平居中有絕對定位的水平居中 作為一名程序媛在編寫頁面的時候經(jīng)常還會遇到水平或者垂直居中的一些布局今天正好有空就把各種居中的方式都總結(jié)了一下分享給大家希望能給大家?guī)韼椭?1.已知寬高背景圖與背景...
摘要:作為一名程序媛在編寫頁面的時候經(jīng)常還會遇到水平或者垂直居中的一些布局今天正好有空就把各種居中的方式都總結(jié)了一下分享給大家希望能給大家?guī)韼椭阎獙捀弑尘皥D與背景圖上的文字都水平垂直居中有寬度的水平居中有絕對定位的水平居中 作為一名程序媛在編寫頁面的時候經(jīng)常還會遇到水平或者垂直居中的一些布局今天正好有空就把各種居中的方式都總結(jié)了一下分享給大家希望能給大家?guī)韼椭?1.已知寬高背景圖與背景...
摘要:高度模型淺識為的簡寫,簡稱為塊級格式化上下文,為瀏覽器渲染某一區(qū)域的機制,中只有和中還增加了和。并非所有的布局都會在開發(fā)中使用,但是其中也會涉及一些知識點。然而在不同的純制作各種圖形純制作各種圖形多圖預(yù)警 一勞永逸的搞定 flex 布局 尋根溯源話布局 一切都始于這樣一個問題:怎樣通過 CSS 簡單而優(yōu)雅的實現(xiàn)水平、垂直同時居中。記得剛開始學(xué)習(xí) CSS 的時候,看到 float 屬性不...
閱讀 3150·2021-11-15 18:14
閱讀 1804·2021-09-22 10:51
閱讀 3328·2021-09-09 09:34
閱讀 3541·2021-09-06 15:02
閱讀 1066·2021-09-01 11:40
閱讀 3218·2019-08-30 13:58
閱讀 2552·2019-08-30 11:04
閱讀 1120·2019-08-28 18:31