色婷婷狠狠18禁久久YY,CHINESE性内射高清国产,国产女人18毛片水真多1,国产AV在线观看

flex布局怎么讓盒子垂直水平居中

flex布局怎么讓盒子垂直水平居中?

我們這里分為兩種形式,一種是定元素寬高的情況下,另一種是不定元素寬高的情況下。

定元素寬高的情況下

a.絕對(duì)定位 + 負(fù)margin

利用絕對(duì)定位absolute和margin完成元素居中,具體例子如下:

給父元素添加相對(duì)定位,子元素添加絕對(duì)定位,利用margin負(fù)子元素寬高的一半,實(shí)現(xiàn)元素的居中,這種方法不常用,

優(yōu)點(diǎn):好理解,兼容性好

缺點(diǎn):必需給定子元素的寬高

b.絕對(duì)定位+margin:auto

利用absolute絕對(duì)定位和margin:auto自動(dòng)居中方法完成元素的居中,例子如下:

與上例子一樣給父元素加相對(duì)定位,子元素添加絕對(duì)定位,在設(shè)置元素的左、右、上、下位置為零,再利用自動(dòng)居中對(duì)齊的方法margin:auto,完成元素的垂直水平居中,這種方法常用

優(yōu)點(diǎn):簡(jiǎn)單易懂,兼容性好

缺點(diǎn):代碼量大,占內(nèi)存

c.table-cell

利用css的table屬性,完成元素的垂直居中,margin完成元素的水平居中,例子如下

設(shè)置父元素的元素類(lèi)型為table-cell類(lèi)型,設(shè)置表格的垂直對(duì)齊方式為居中,再給子元素添加margin:0 auto 完成元素的垂直水平居中,這種方法不常用,

優(yōu)點(diǎn):兼容性好

缺點(diǎn):出來(lái)的太早,現(xiàn)在都不流行用了

d.translate

利用2d位移來(lái)完成元素的居中,例子如下:

只需操作子元素,給子元素添加transform屬性,利用2d位移translate,分別向左向右移動(dòng)父元素寬高度減自身寬高度的一半,完成元素的垂直水平對(duì)齊,這種方法不常用,

優(yōu)點(diǎn):代碼簡(jiǎn)單

缺點(diǎn):我們必須給定子元素的寬和高,否則無(wú)法完成元素居中

不定元素寬高的情況下

line-heght

給元素設(shè)置line-heght,也就是行高,完成元素的居中,具體例子如下:

我們給子元素設(shè)置行高,完成元素的垂直居中,再然后利用文本水平對(duì)齊方式text-align方法,完成水平居中,這中方法是最簡(jiǎn)單的,也是我們經(jīng)常用的

優(yōu)點(diǎn):寫(xiě)起來(lái)簡(jiǎn)單,兼容性好

缺點(diǎn):只適合單行文本的居中,多行文本不支持

b.絕對(duì)定位加translate

之前我們說(shuō)過(guò)一個(gè)利用translate完成元素垂直水平的,這里就是在那種方法上的進(jìn)一步改進(jìn),也就是可以,不用設(shè)置寬高,也能實(shí)現(xiàn)元素的垂直水平居中,用translate加絕對(duì)定位完成元素的居中,例子如下:

在這里,還有不同就是,我們translate里面可以直接用百分比完成位移,從而實(shí)現(xiàn)元素的垂直水平居中,這種方法常用(但是我不常用)

優(yōu)點(diǎn):代碼簡(jiǎn)單,兼容性好

缺點(diǎn):無(wú)

c.flex

flex形成彈性盒,我們利用彈性盒可以做很多事情,其中最主要的還是布局,當(dāng)然這里我們就不詳細(xì)說(shuō)了,我們來(lái)談?wù)勅绾问挂粋€(gè)元素垂直水平居中,例子如下:

我們讓父元素形成彈性盒子,再然后設(shè)置主軸對(duì)齊方式為居中對(duì)齊,側(cè)軸對(duì)齊方式為居中對(duì)齊從而完成元素的垂直水平居中,這種方法經(jīng)常用,

優(yōu)點(diǎn):代碼簡(jiǎn)單易懂

缺點(diǎn):PC端兼容性不好

d.flex+margin:auto

這種方法與上面那種不同的是,這里沒(méi)用到彈性盒子里面的屬性,而是用margin直接完成元素的居中對(duì)齊,例子如下:

讓父元素形成彈性盒子,再然后給子元素添加margin:auto,完成元素的垂直水平居中,這種方法也常用,

flex.css,flex布局怎么讓盒子垂直水平居中