摘要:總結常用垂直居中方法與方法實現居中這是比較常用的方法。絕對居中實現垂直居中這是一個兼容性比較好的能夠實現垂直居中的方法。
CSS—總結常用垂直居中方法 1、text-align與line-hight方法實現居中
這是比較常用的方法。通過line-hight來設置行間距是實現垂直居中的關鍵
.wrap{ width: 500px; heidth: 200px; line-height:200px; background: #80ff80; text-align:center; fontsize: 20px }2、利用padding和background-clip實現水平垂直居中
通過background-clip設置為center-box,將背景裁剪到內容區外沿,再利用padding設為外div減去內div的差的一一半來實現
.parent{ margin: 0 auto; width: 250px; heidth: 250px; background: #80ff80; } .child img { width: 150px; heidth: 150px; padding 50px; background-clip: center-box; }3、使用transform實現垂直居中
其百分比計算不是以父元素為基準,而是以自己為基準,適用于沒固定大小的內容,min-width、max-width、overflow:scroll等。使用這個屬性時,不必定義子容器的高度,其會根據內容來自適應高度。但是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、絕對居中實現垂直居中
這是一個兼容性比較好的能夠實現垂直居中的方法。
可以通過設置內容元素:position: fixed,z-index: 999成為視口居中,
更改百分比寬高、最大最小寬度使其能夠實現響應,
只要 margin:auto,內容塊將垂直居中,使用top、left、button、right可以設置偏移
居中內容比父容器高時,加overflow:auto可防止內容溢出
但是唯一的確定就是父容器的高度必須是可知的。
.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、負外邊距實現垂直居中
這是比較流行的一種方法,當塊元素尺寸已知,外邊距margin取負數,大小為 (width/heigth + pdding)/2,加上top和left各為50%,這個方法兼容IE6以上的IE瀏覽器,代碼量也比較少。但是不能自適應,不支持百分比尺寸和 min-/max- 屬性設置,內容可能會溢出容器,需要計算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)實現垂直居中
其內容塊高度可以隨著實際內容的高度而變化,內容溢出時父元素會自己撐開,在瀏覽器中的兼容性也比較好,但是需要三層元素才能使最內層的元素居中
.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實現垂直居中
使用flexbox實現垂直居中很方便而且代碼簡潔, 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; }
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/115678.html
摘要:作為一名程序媛在編寫頁面的時候經常還會遇到水平或者垂直居中的一些布局今天正好有空就把各種居中的方式都總結了一下分享給大家希望能給大家帶來幫助已知寬高背景圖與背景圖上的文字都水平垂直居中有寬度的水平居中有絕對定位的水平居中 作為一名程序媛在編寫頁面的時候經常還會遇到水平或者垂直居中的一些布局今天正好有空就把各種居中的方式都總結了一下分享給大家希望能給大家帶來幫助 1.已知寬高背景圖與背景...
摘要:作為一名程序媛在編寫頁面的時候經常還會遇到水平或者垂直居中的一些布局今天正好有空就把各種居中的方式都總結了一下分享給大家希望能給大家帶來幫助已知寬高背景圖與背景圖上的文字都水平垂直居中有寬度的水平居中有絕對定位的水平居中 作為一名程序媛在編寫頁面的時候經常還會遇到水平或者垂直居中的一些布局今天正好有空就把各種居中的方式都總結了一下分享給大家希望能給大家帶來幫助 1.已知寬高背景圖與背景...
摘要:高度模型淺識為的簡寫,簡稱為塊級格式化上下文,為瀏覽器渲染某一區域的機制,中只有和中還增加了和。并非所有的布局都會在開發中使用,但是其中也會涉及一些知識點。然而在不同的純制作各種圖形純制作各種圖形多圖預警 一勞永逸的搞定 flex 布局 尋根溯源話布局 一切都始于這樣一個問題:怎樣通過 CSS 簡單而優雅的實現水平、垂直同時居中。記得剛開始學習 CSS 的時候,看到 float 屬性不...
閱讀 3118·2021-11-15 18:14
閱讀 1773·2021-09-22 10:51
閱讀 3280·2021-09-09 09:34
閱讀 3504·2021-09-06 15:02
閱讀 1012·2021-09-01 11:40
閱讀 3186·2019-08-30 13:58
閱讀 2523·2019-08-30 11:04
閱讀 1081·2019-08-28 18:31