這里不討論行內元素的居中!!
盒子垂直居中+水平居中的需求時經常遇到的,看到的較多實現邏輯是固定content-box的寬度,通過讓margin-left和margin-top等于寬或高的負一半來實現,抑或不固定寬度,通過JS調整margin-left和margin-top的值,這倆種方法原理都一樣。
而我接下來要講的是content不定寬的情況下,CSS的源生實現。
主要利用td的vertical-align: middle;屬性實現垂直居中,當然你可以用display:table-cell;也可以得到一樣的效果。配合margin: 0 auto;實現水平居中,支持IE 8+。
效果:https://codepen.io/FreadChen/...
利用flex布局可以實現更多功能,這里利用了“justify-content”實現水平居中、“align-items”實現垂直居中,“flex: 0 0 auto;”讓元素保持原來的寬高。這個技術的局限在于支持IE 10+。
了解Flex請戳:http://www.ruanyifeng.com/blo...
看效果請戳:https://codepen.io/FreadChen/...
利用position + transform實現垂直居中
利用position的絕對定位absolute(absolute的使用技巧自行了解)將left和top都設為50%;再利用transform: translate(-50%,-50%);來補償元素寬高所帶來的位置影響。該技巧支持IE9+。
看效果請戳:https://codepen.io/FreadChen/...
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/113172.html
這里不討論行內元素的居中!! 盒子垂直居中+水平居中的需求時經常遇到的,看到的較多實現邏輯是固定content-box的寬度,通過讓margin-left和margin-top等于寬或高的負一半來實現,抑或不固定寬度,通過JS調整margin-left和margin-top的值,這倆種方法原理都一樣。 而我接下來要講的是content不定寬的情況下,CSS的源生實現。 利用table實現垂直水平...
摘要:高度模型淺識為的簡寫,簡稱為塊級格式化上下文,為瀏覽器渲染某一區域的機制,中只有和中還增加了和。并非所有的布局都會在開發中使用,但是其中也會涉及一些知識點。然而在不同的純制作各種圖形純制作各種圖形多圖預警 一勞永逸的搞定 flex 布局 尋根溯源話布局 一切都始于這樣一個問題:怎樣通過 CSS 簡單而優雅的實現水平、垂直同時居中。記得剛開始學習 CSS 的時候,看到 float 屬性不...
閱讀 2581·2021-11-22 12:01
閱讀 1105·2021-11-15 11:37
閱讀 3684·2021-09-22 14:59
閱讀 1746·2021-09-04 16:45
閱讀 1381·2021-09-03 10:30
閱讀 1013·2021-08-11 11:18
閱讀 2459·2019-08-30 10:53
閱讀 2013·2019-08-29 15:13