元素的水平,垂直居中

2021-08-31 13:33:27 字數 1861 閱讀 6025

逛了很多文章的總結,相當於乙個大彙總,將我主要參考的人放在鏈結裡有大神顏海鏡和大神張鑫旭

子元素

其中的.size是來討論當子元素有無寬高的解決方法,效果如下:

方法一:absolute+負margin(這也是我在自學過程中遇到的最多的一種方式)

html**同上面的基礎**一樣,就不寫了,寫一下css**:

注意點 :要知道子元素的寬高

方法二:absolute + margin:auto (這個我在自學過程中遇到的次數也很多)

html**也是基礎**就不寫了,寫下css**

注意:要知道子元素的寬高

方法三:absolute+calc(其實我的理解這種和第一種差不多)

html**和基礎**一樣就不寫了,接下來寫css

注意:要知道子元素的寬高,還有就是減號左右要有空格,不然可能出不來效果

既然不需要知道子元素的寬和高,那就將html中的.size去掉

子元素

因為都是解決的水平垂直居中問題,所以效果圖都是一樣的,下面就不截圖展示了,如果不放心,大家可以自己動手敲一下**驗證一下。

transform是css3中增加的,沒看過的小夥伴可以去閱讀一下css3,translate(x,y)指在x軸,y軸的2d移動。

方法二:line-height

html**依舊是不帶.size

注意:將子元素vertical-align: middle;是將乙個行內元素垂直居中

方法三:利用table特性

子元素        

這個table元素特有的性質:tabel單元格中的內容天然就是垂直居中的,只要新增乙個水平居中屬性就好了,這種解決方法不得當,因為會造成**的冗餘。

方法四:利用給父元素設定display:table-cell

子元素

其實這個方法和上乙個是乙個思路,只是這個就不會造成**的冗餘

方法五:flex

子元素

方法六:grid

子元素

元素水平垂直居中

lang en charset utf 8 垂直居中示例title name viewport content width device width,initial scale 1 rel stylesheet href 可行,支援ie8 block1 block1 before center1 不...

元素水平垂直居中

給子元素設定以下內容 給父元素新增屬性 display flex align items center justify content center 先給元素設定絕對定位,再依次新增以下屬性,具體 如下所示。position absolute top 0 left 0 right 0 bottom ...

元素水平垂直居中

只可用於定寬高元素 doctype html html lang en head meta charset utf 8 title 垂直居中 title style type text css body parent container style head body div id parent d...