水平 垂直居中的若干種方法總結

2021-07-12 07:17:17 字數 1595 閱讀 3961

水平居中的實現很簡單,這兒就不贅述了。

行內元素使用:text-align:center 可以做到水平居中

塊級元素使用:margin: 0 auto 可以做到水平居中

單行的垂直居中可以通過設定元素line-height為父元素的高度,完成垂直居中

display

:table-cell;

vertical-align

: middle;

position

: relative;

//非static就行

設定子元素(假設寬高分別為500px,600px)的top和bottom:

position

: relative;

top: 50%;

height

: 50%;

margin-top

: -300px;

// 1/2的子元素高度

margin-left

: -250px;

// 1/2的子元素寬度

優點:不需要知道元素高度、寬度就可以設定居中

缺點:由於transform屬性是css3屬性,ie9以下無法使用

父元素:

position

: relative;

//非static就行

子元素

position

: absolute;

top:50%;

left

: 50%;

transform

:translate(-50%,-50%);

實現原理請參考freshlover的專欄

優點:支援跨瀏覽器,包括ie8-ie10;

缺點:必須宣告高度(檢視可變高度variable height);在windows phone裝置上不起作用。

.absolute-center

優點: 高度可變、內容溢位會將父元素撐開、 支援跨瀏覽器,也適應於ie7。

缺點:需要乙個容器、水平居中依賴於margin-left: -0.25em;該尺寸對於不同的字型/字型大小需要調整、內容塊寬度不能超過容器的100% - 0.25em。

父元素:

text-align: center;  

overflow: auto;

子元素:

display: inline-block;  

vertical-align: middle;

偽元素:

content

: '';

height

: 100%;

margin-left

: -0.25em;

/* to offset spacing. may vary by font */

基本思想是使用display: inline-block, vertical-align: middle和乙個偽元素讓內容塊處於容器**。

CSS水平居中和垂直居中的若干方法

從css入門就開始接觸,無所不在的,一直備受爭議的居中問題。css居中分為水平居中和垂直居中,水平居中方式也較為常見和統一,垂直居中的方法就千奇百怪了。本文是我積累的若干css居中的方法,先後討論了塊級元素的和行內元素的垂直居中和水平居中,特此記錄下來與大家分享。如有敘述不當的地方,還望指出。o 本...

垂直水平居中的幾種方法

father son 效果圖 當元素絕對定位時,它會根據離他最近的乙個非static定位的父元素進行定位,這裡應該根據父元素定位。father son 效果圖 首先用top 50 和left 50 讓子元素的座標原點 左上角 移動到父元素的中心,然後再利用負margin讓它往左偏移自身寬的一半,再往...

css水平垂直居中多種方法

結構 parent childblock 塊級元素 inline 內聯元素 text align有效 width,height無效 文字稱開 inline block 行內塊級元素 塊 內 注意 width,height有效 結構 child會導致脫離文件流 浮動float,設定絕對定位,固定定位 ...