摘要:簡介總結記錄一下經常需要用到垂直居中布局,歡迎補充空手套。。。
簡介
總結記錄一下經常需要用到垂直居中布局,歡迎補充(空手套。。。O(∩_∩)O)
以下栗子如果未特別標注同一使用這樣的html結構
垂直居中布局 利用絕對定位和負margin
絕對定位可以很容易做到top:50%,現在只要再讓目標元素上移自身高度的一半就垂直居中了
.container { background: #777777; height: 400px; position: relative; } .container .content { width: 100px; height: 100px; position: absolute; top: 50%; margin-top: -50px; left: 50%; margin-left: -50px; background: #ee5f28; }
優點:兼容性好
缺點:需要知道居中元素的高度
.container { background: #777777; height: 400px; position: relative; } .container .content { width: 100px; height: 100px; position: absolute; top: 50%; left: 50%; transform: translate3d(-50%, -50%, 0); background: #ee5f28; }
優點:不需要考慮content元素的高度
缺點:兼容性
利用絕對定位和calc.container { background: #777777; height: 400px; position: relative; } .container .content { width: 100px; height: 100px; position: absolute; top: calc(50% - 50px); left: calc(50% - 50px); background: #ee5f28; }
優點:相比于前面少了兩條樣式
缺點:兼容性
利用flex.container { background: #777777; height: 400px; display: flex; justify-content: center; align-items: center; } .container .content { width: 100px; height: 100px; background: #ee5f28; }
.container { background: #777777; height: 400px; display: flex; } .container .content { width: 100px; height: 100px; background: #ee5f28; margin: auto; }
優點:垂直居中特別容易搞定
缺點:兼容性
震驚absoulute(絕對定位)還可以這樣用.container { background: #777777; height: 400px; position: relative; } .container .content { width: 100px; height: 100px; background: #ee5f28; position: absolute; top: 0; left: 0; right: 0; bottom: 0; margin: auto; }
優點:
1.跨瀏覽器,兼容性好(無需hack,可兼顧IE8~IE10);
2.無特殊標記,樣式更精簡;
3.自適應布局,可以使用百分比和最大最小高寬等樣式;
4.居中時不考慮元素的padding值(也不需要使用box-sizing樣式);
5.布局塊可以自由調節大小;6.img的圖像也可以使用
6.瀏覽器支持:Chrome、Firefox、Safari、Mobile Safari、IE8-10。 “完全居中”經測試可以完美地應用在最新版本的Chrome、Firefox、Safari、Mobile Safari中,甚至也可以運行在IE8~IE10上
使用inline-block.container { background: #777777; height: 400px; text-align: center; font-size: 0; overflow: auto; } .container::after { content: ""; display: inline-block; height: 100%; vertical-align: middle; } .container .content { display: inline-block; vertical-align: middle; width: 100px; height: 100px; background: #ee5f28; }
這里注意:容器‘container’里要設置font-size:0;避免inline-block之間產生間隔
優點:
內容高度可變
內容溢出則能自動撐開父元素高度
瀏覽器兼容性好,甚至可以調整支持IE7
使用table與table-cellDocument
優點:
內容高度可變
內容溢出則能自動撐開父元素高度
瀏覽器兼容性好
缺點:額外標簽
參考資料https://caniuse.com/
https://www.w3cplus.com/css3/...
http://blog.jobbole.com/46574/
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/51736.html
摘要:高度模型淺識為的簡寫,簡稱為塊級格式化上下文,為瀏覽器渲染某一區域的機制,中只有和中還增加了和。并非所有的布局都會在開發中使用,但是其中也會涉及一些知識點。然而在不同的純制作各種圖形純制作各種圖形多圖預警 一勞永逸的搞定 flex 布局 尋根溯源話布局 一切都始于這樣一個問題:怎樣通過 CSS 簡單而優雅的實現水平、垂直同時居中。記得剛開始學習 CSS 的時候,看到 float 屬性不...
摘要:基于這樣的布局方式,你就可以把什么定高不定高定寬不定寬多行單行的水平垂直居中都搞定了。且不支持這就是所謂的布局大法。 看了這篇文章,你可以了解到以下布局方法: table-cell 定高水平垂直居中 不定高水平垂直居中 單行定高水平垂直居中 單行不定高水平垂直居中 多行定高水平垂直居中 多行不定高水平垂直居中 多列等高布局 左邊定寬右邊自適應布局 左邊右邊定寬中間自適應三列布局 最...
摘要:基于這樣的布局方式,你就可以把什么定高不定高定寬不定寬多行單行的水平垂直居中都搞定了。且不支持這就是所謂的布局大法。 看了這篇文章,你可以了解到以下布局方法: table-cell 定高水平垂直居中 不定高水平垂直居中 單行定高水平垂直居中 單行不定高水平垂直居中 多行定高水平垂直居中 多行不定高水平垂直居中 多列等高布局 左邊定寬右邊自適應布局 左邊右邊定寬中間自適應三列布局 最...
摘要:基于這樣的布局方式,你就可以把什么定高不定高定寬不定寬多行單行的水平垂直居中都搞定了。且不支持這就是所謂的布局大法。 看了這篇文章,你可以了解到以下布局方法: table-cell 定高水平垂直居中 不定高水平垂直居中 單行定高水平垂直居中 單行不定高水平垂直居中 多行定高水平垂直居中 多行不定高水平垂直居中 多列等高布局 左邊定寬右邊自適應布局 左邊右邊定寬中間自適應三列布局 最...
閱讀 986·2021-09-26 10:15
閱讀 2064·2021-09-24 10:37
閱讀 2580·2019-08-30 13:46
閱讀 2631·2019-08-30 11:16
閱讀 2421·2019-08-29 10:56
閱讀 2591·2019-08-26 12:24
閱讀 3472·2019-08-23 18:26
閱讀 2661·2019-08-23 15:43