CSS垂直居中精華總結

2021-09-20 07:58:41 字數 1164 閱讀 8624

1  table-cell方式

將center元素的包含框display設定為table,center元素的display設定為table-cell,vertical-align設定為middle。

原理:利用表布局特點,vertical-align設定為middle後,單元格中內容中間與所在行中間對齊

.container2

使用絕對定位要求元素必須設定明確高度。內容超過元素高度時需要設定overflow決定滾動條的出現

優點:支援響應式,只有這種方法在resize之後仍然垂直居中

缺點:沒有顯式設定overflow時,內容超過元素高度時會溢位,沒有滾動條

3負margintop方式

已知元素高度後,使用絕對定位將top設定為50%,mergin-top設定為內容高度的一半(height + padding) / 2;內容超過元素高度時需要設定overflow決定滾動條的出現

原理:top:50%元素上邊界位於包含框中點,設定負外邊界使得元素垂直中心與包含框中心重合;

.negative_margin_top
優點:**量少、瀏覽器相容性高支援ie6 ie7

缺點:不支援響應式(不能使用百分比、min/max-width)

4利用translate

這是最簡單的方法,不近能實現絕對居中同樣的效果,也支援聯合可變高度方式使用。內容塊定義transform: translate(-50%,-50%)必須帶上瀏覽器廠商的字首,還要加上top: 50%; left: 50%;

.is-transformed   

優點:1.內容可變高度   2.**量少

缺點:1.ie8不支援

2.屬性需要寫瀏覽器廠商字首

3.可能干擾其他transform效果

4.某些情形下會出現文字或元素邊界渲染模糊的現象

5彈性盒式布局

利用彈性盒式布局,將字元素的主軸、側軸的排列方式都設定為居中對齊

原理:使用css彈性盒

.is-flexbox

優點:真正的垂直居中布局

缺點:ie11才開始支援彈性布局

CSS垂直居中總結

小白總結了平時遇到的css垂直居中的方法,大家在遇到元素垂直居中的需求時,可以從以下三種思路供進行考慮 借助於行高實現垂直居中。借助絕對定位實現垂直居中。在知道足夠的資訊下,使用偏移屬性實現。第一種 借助於行高實現垂直居中 這種方式適用於文字 表單元素等所有的行內元素,適用範圍比較廣泛。實現的方法很...

CSS垂直水平居中總結

css實現垂直水平居中的方法多種,各種方法各有優劣,查閱網上資料,自己總結於此,方便日後應用。box原本認為margin只能實現水平居中,但是在大牛的文章中發現了這種垂直水平居中,異常的好用。優點 支援跨瀏覽器,包括ie8 ie10.無需其他特殊標記,css 量少 支援百分比 屬性值和min max...

css 水平居中 垂直居中 水平垂直居中

一 水平居中 1 行內元素水平居中text align center 2 塊級元素水平居中margin 0 auto 3 多個塊狀元素的水平居中 實現多個水平排列的塊狀元素的水平居中,是將要水平排列的塊狀元素設為display inline block,然後在父級元素上設定text align ce...