人妻系列无码专区av在线,国内精品久久久久久婷婷,久草视频在线播放,精品国产线拍大陆久久尤物

當(dāng)前位置:首頁 > 數(shù)據(jù)庫 > 正文

flex布局常用屬性 flex彈性布局樣式字體如何實(shí)現(xiàn)

flex布局常用屬性 flex彈性布局樣式字體如何實(shí)現(xiàn)

這篇文章給大家聊聊關(guān)于flex布局常用屬性,以及flex彈性布局樣式字體如何實(shí)現(xiàn)對(duì)應(yīng)的知識(shí)點(diǎn),希望對(duì)各位有所幫助,不要忘了收藏本站哦。css中基本布局css中基本的布局...

這篇文章給大家聊聊關(guān)于flex布局常用屬性,以及flex彈性布局樣式字體如何實(shí)現(xiàn)對(duì)應(yīng)的知識(shí)點(diǎn),希望對(duì)各位有所幫助,不要忘了收藏本站哦。

css中基本布局

css中基本的布局方式有以下幾種:

1、靜態(tài)布局

最傳統(tǒng)的布局方式,網(wǎng)頁中所有尺寸都是由px作為單位,設(shè)置了min-width,如果寬度小于就會(huì)出現(xiàn)滾動(dòng)條,如果大于這個(gè)寬度則內(nèi)容居中外加背景

2、自適應(yīng)布局

可以看成是不同屏幕下由多個(gè)靜態(tài)布局組成的。自適應(yīng)布局是為不同的屏幕分辨率分別定義不同的布局。改變屏幕分辨率可以切換不同的靜態(tài)布局(頁面元素位置可能發(fā)生改變),但在每個(gè)靜態(tài)布局中,頁面元素不隨窗口大小的調(diào)整發(fā)生變化。

自適應(yīng)布局頁面里面元素的位置會(huì)變化,很好的解決了流式布局中的大屏空間利用率不高弊端。屏幕分辨率變化時(shí),頁面里面元素的位置會(huì)變化而大小不會(huì)變化。

3、流式布局(又別名百分比布局%)

網(wǎng)頁中主要的劃分區(qū)域的尺寸使用百分?jǐn)?shù)(搭配min-*、max-*屬性使用),分別為不同的屏幕設(shè)置布局格式,當(dāng)屏幕大小改變時(shí),會(huì)出現(xiàn)不同的布局。

意思就是在這個(gè)屏幕下這個(gè)元素塊在這個(gè)地方,但是在那個(gè)屏幕下,這個(gè)元素塊又會(huì)出現(xiàn)在那個(gè)地方。只是布局改變,元素不變??梢钥闯墒遣煌聊幌掠啥鄠€(gè)靜態(tài)布局組成的。

4、響應(yīng)式布局:媒體查詢

通過響應(yīng)式設(shè)計(jì)能使網(wǎng)站在手機(jī)和平板電腦上有更好的瀏覽閱讀體驗(yàn)。屏幕尺寸不一樣展示給用戶的網(wǎng)頁內(nèi)容也不一樣.利用媒體查詢可以檢測(cè)到屏幕的尺寸(主要檢測(cè)寬度),并設(shè)置不同的CSS樣式,就可以實(shí)現(xiàn)響應(yīng)式的布局。主要依靠是css的媒體查詢。

每個(gè)屏幕分辨率下面會(huì)有一個(gè)布局樣式,即元素位置和大小都會(huì)變。

5、彈性布局(rem/emflex布局)

html中flex布局在什么時(shí)候用

flex布局在使用彈性布局的時(shí)候可以使用。

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

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

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

d.translate

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

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

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

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

不定元素寬高的情況下

line-heght

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

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

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

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

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

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

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

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

缺點(diǎn):無

c.flex

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

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

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

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

d.flex+margin:auto

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

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

CSS3中Flex彈性布局該如何靈活運(yùn)用

前端愛好者,學(xué)習(xí)者可關(guān)注我,帶你一起學(xué)習(xí)前端。

其實(shí)如何靈活應(yīng)用Flex布局,那就要先知道它如何布局以及有哪些屬性,說白了就是在一個(gè)容器呢把它的子項(xiàng)目均勻的排列在一起,然后再用屬性指定容器內(nèi)子項(xiàng)目的詳細(xì)排列方式。

網(wǎng)頁布局(layout)是CSS的一個(gè)重點(diǎn)應(yīng)用。Flex布局,可以簡(jiǎn)便、完整、響應(yīng)式地實(shí)現(xiàn)各種頁面布局。目前,它已經(jīng)得到了所有瀏覽器的支持,這意味著,現(xiàn)在就能很安全地使用這項(xiàng)功能。

基本概念

Flex是FlexibleBox的縮寫,意為”彈性布局”,用來為盒狀模型提供最大的靈活性。

任何一個(gè)容器都可以指定為Flex布局。

采用Flex布局的元素,稱為Flex容器(flexcontainer),簡(jiǎn)稱”容器”。它的所有子元素自動(dòng)成為容器成員,稱為Flex項(xiàng)目(flexitem),簡(jiǎn)稱”項(xiàng)目”。

容器屬性

1、flex-direction屬性

flex-direction:row|row-reverse|column|column-reverse;

row(默認(rèn)值):主軸為水平方向,起點(diǎn)在左端。row-reverse:主軸為水平方向,起點(diǎn)在右端。column:主軸為垂直方向,起點(diǎn)在上沿。column-reverse:主軸為垂直方向,起點(diǎn)在下沿。

2、flex-wrap屬性

flex-wrap:nowrap|wrap|wrap-reverse;

nowrap(默認(rèn)):不換行。

wrap:換行,第一行在上方。

wrap-reverse:換行,第一行在下方。

3、flex-flow屬性

flex-flow:<flex-direction><flex-wrap>;

flex-flow屬性是flex-direction屬性和flex-wrap屬性的簡(jiǎn)寫形式,默認(rèn)值為rownowrap。

4、justify-content屬性

justify-content屬性定義了項(xiàng)目在主軸上的對(duì)齊方式。

justify-content:flex-start|flex-end|center|space-between|space-around;

flex-start(默認(rèn)值):左對(duì)齊flex-end:右對(duì)齊center:居中space-between:兩端對(duì)齊,項(xiàng)目之間的間隔都相等。space-around:每個(gè)項(xiàng)目?jī)蓚?cè)的間隔相等。所以,項(xiàng)目之間的間隔比項(xiàng)目與邊框的間隔大一倍。

5、align-items屬性

align-items屬性定義項(xiàng)目在交叉軸上如何對(duì)齊。

align-items:flex-start|flex-end|center|baseline|stretch;

flex-start:交叉軸的起點(diǎn)對(duì)齊。flex-end:交叉軸的終點(diǎn)對(duì)齊。center:交叉軸的中點(diǎn)對(duì)齊。baseline:項(xiàng)目的第一行文字的基線對(duì)齊。stretch(默認(rèn)值):如果項(xiàng)目未設(shè)置高度或設(shè)為auto,將占滿整個(gè)容器的高度。

6、align-content屬性

align-content屬性定義了多根軸線的對(duì)齊方式。如果項(xiàng)目只有一根軸線,該屬性不起作用。

align-content:flex-start|flex-end|center|space-between|space-around|stretch;

flex-start:與交叉軸的起點(diǎn)對(duì)齊。flex-end:與交叉軸的終點(diǎn)對(duì)齊。center:與交叉軸的中點(diǎn)對(duì)齊。space-between:與交叉軸兩端對(duì)齊,軸線之間的間隔平均分布。space-around:每根軸線兩側(cè)的間隔都相等。所以,軸線之間的間隔比軸線與邊框的間隔大一倍。stretch(默認(rèn)值):軸線占滿整個(gè)交叉軸。項(xiàng)目的屬性

1、order屬性

order屬性定義項(xiàng)目的排列順序。數(shù)值越小,排列越靠前,默認(rèn)為0。

order:<integer>;

2、flex-grow屬性

flex-grow屬性定義項(xiàng)目的放大比例,默認(rèn)為0,即如果存在剩余空間,也不放大。

flex-grow:<number>;/*default0*

3、flex-shrink屬性

flex-shrink屬性定義了項(xiàng)目的縮小比例,默認(rèn)為1,即如果空間不足,該項(xiàng)目將縮小。

flex-shrink:<number>;/*default1*/

4、flex-basis屬性

flex-basis屬性定義了在分配多余空間之前,項(xiàng)目占據(jù)的主軸空間(mainsize)。瀏覽器根據(jù)這個(gè)屬性,計(jì)算主軸是否有多余空間。它的默認(rèn)值為auto,即項(xiàng)目的本來大小。

flex-basis:<length>|auto;/*defaultauto*/

5、flex屬性

flex屬性是flex-grow,flex-shrink和flex-basis的簡(jiǎn)寫,默認(rèn)值為01auto。后兩個(gè)屬性可選。

flex:none|[<'flex-grow'><'flex-shrink'>?||<'flex-basis'>]

6、align-self屬性

align-self屬性允許單個(gè)項(xiàng)目有與其他項(xiàng)目不一樣的對(duì)齊方式,可覆蓋align-items屬性。默認(rèn)值為auto,表示繼承父元素的align-items屬性,如果沒有父元素,則等同于stretch。

align-self:auto|flex-start|flex-end|center|baseline|stretch;

更多的Flex布局應(yīng)用可到W3C菜鳥教程查看,或者去張大神、阮一峰的博客查看,詳細(xì)的很。

更多前端知識(shí)關(guān)注我,了解更多

簡(jiǎn)述五種布局的特點(diǎn)和運(yùn)用場(chǎng)合

框架布局:所有控件排列在左上角,用于制作特別的控件,初學(xué)者使用較少;

線性布局:控件可以按照水平或者垂直方向進(jìn)行排列,控件排列方式簡(jiǎn)單;

絕對(duì)布局:可以指定控件擺放的位置,雖然擺放控件很容易,但是不適合多種分辨率和尺寸的屏幕,需要慎用;

相對(duì)布局:能夠設(shè)定控件之間的相對(duì)關(guān)系、控件與父容器的相對(duì)關(guān)系,控件排列方式比較靈活,是常用的布局之一;

表格布局:通過配合使用TableRow可以將控件以表格形式排列。

不能作為flex子元素的屬性有哪些

有float、clear和vertical-align屬性,因?yàn)楦冈豧lex布局,子元素的這些屬性不生效。

flex布局常用屬性的介紹就聊到這里吧,感謝你花時(shí)間閱讀本站內(nèi)容,更多關(guān)于flex彈性布局樣式字體如何實(shí)現(xiàn)、flex布局常用屬性的信息別忘了在本站進(jìn)行查找哦。