亚洲中字慕日产2020,大陆极品少妇内射AAAAAA,无码av大香线蕉伊人久久,久久精品国产亚洲av麻豆网站

資訊專欄INFORMATION COLUMN

Flex布局語(yǔ)法筆記

legendmohe / 2489人閱讀

摘要:布局的傳統(tǒng)解決方案,基于盒狀模型,依賴屬性屬性屬性。一基礎(chǔ)和術(shù)語(yǔ)布局是啥是的縮寫,意為彈性布局,用來(lái)為盒狀模型提供最大的靈活性。基本概念采用布局的元素,稱為容器,簡(jiǎn)稱容器。該屬性的個(gè)值分別表示具體對(duì)齊方式與軸的方向有關(guān)。

???????網(wǎng)頁(yè)布局(layout)是 CSS 的一個(gè)重點(diǎn)應(yīng)用。布局的傳統(tǒng)解決方案,基于盒狀模型,依賴 display 屬性 + position屬性 + float屬性。它對(duì)于那些特殊布局非常不方便,比如萬(wàn)惡的垂直居中。
???????2009年,W3C 提出了一種新的方案----Flex 布局,可以簡(jiǎn)便、完整、響應(yīng)式地實(shí)現(xiàn)各種頁(yè)面布局。目前,它已經(jīng)得到了所有瀏覽器的支持,這意味著,現(xiàn)在就能很安全地使用這項(xiàng)功能。(ie 10+支持flex布局,對(duì)于我現(xiàn)在的項(xiàng)目,因?yàn)槭褂胏ors解決跨域,所以對(duì)ie的支持也是ie10+,完美契合)
???????嘴上說著支持,但是ie從來(lái)不讓我們失望,flex在ie下的bug和解決方法,有需自取。
一、基礎(chǔ)和術(shù)語(yǔ) 1、flex布局是啥

Flex 是 Flexible Box 的縮寫,意為"彈性布局",用來(lái)為盒狀模型提供最大的靈活性。
任何一個(gè)容器都可以指定為 Flex 布局。

.box{
  display: flex;
}

行內(nèi)元素也可以使用 Flex 布局。

.box{
  display: inline-flex;
}

Webkit 內(nèi)核的瀏覽器,必須加上-webkit前綴。當(dāng)然如果你也使用了無(wú)敵的autoprefixer就不需要這么做了。

.box{
  display: -webkit-flex; /* Safari */
  display: flex;
}

還有一點(diǎn)需要注意的是設(shè)為 Flex 布局以后,子元素的float、clear和vertical-align屬性將失效。

2、基本概念

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

容器默認(rèn)存在兩根軸:水平的主軸(main axis)和垂直的交叉軸(cross axis)。主軸的開始位置(與邊框的交叉點(diǎn))叫做main start,結(jié)束位置叫做main end;交叉軸的開始位置叫做cross start,結(jié)束位置叫做cross end。
項(xiàng)目默認(rèn)沿主軸排列。單個(gè)項(xiàng)目占據(jù)的主軸空間叫做main size,占據(jù)的交叉軸空間叫做cross size。

二、屬性 1、容器的屬性

容器可以設(shè)置的屬性共有以下6個(gè)

flex-direction

flex-wrap

flex-flow

justify-content

align-items

align-content

1.1 flex-direction

flex-direction屬性決定主軸的方向(即項(xiàng)目的排列方向)。

.box {
  flex-direction: row | row-reverse | column | column-reverse;
}

該屬性的4個(gè)值分別表示:

row(默認(rèn)值):主軸為水平方向,起點(diǎn)在左端。

row-reverse:主軸為水平方向,起點(diǎn)在右端。

column:主軸為垂直方向,起點(diǎn)在上沿。

column-reverse:主軸為垂直方向,起點(diǎn)在下沿。

1.2 flex-wrap

默認(rèn)情況下,項(xiàng)目都排在一條線(又稱"軸線")上。flex-wrap屬性定義,如果一條軸線排不下,如何換行。

.box{
  flex-wrap: nowrap | wrap | wrap-reverse;
}

該屬性的3個(gè)值分別表示:

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

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

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

1.3 flex-flow

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

.box {
  flex-flow:  || ;
}
1.4 justify-content屬性

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

.box {
  justify-content: flex-start | flex-end | center | space-between | space-around | space-evenly;
}

該屬性的6個(gè)值分別表示(具體對(duì)齊方式與軸的方向有關(guān)。下面假設(shè)主軸為從左到右):

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)目與邊框的間隔大一倍。

space-evenly:每個(gè)項(xiàng)目之前的間距以及到邊緣的間距相等

1.5 align-items屬性

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

.box {
  align-items: flex-start | flex-end | center | baseline | stretch;
}

該屬性的5個(gè)值分別表示(具體的對(duì)齊方式與交叉軸的方向有關(guān),下面假設(shè)交叉軸從上到下):

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è)容器的高度。

1.6 align-content屬性

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

.box {
  align-content: flex-start | flex-end | center | space-between | space-around | stretch;
}

該屬性的6個(gè)值分別表示:

flex-start:與交叉軸的起點(diǎn)對(duì)齊。

flex-end:與交叉軸的終點(diǎn)對(duì)齊。

center:與交叉軸的中點(diǎn)對(duì)齊。

space-between:與交叉軸兩端對(duì)齊,軸線之間的間隔平均分布。

space-around:每根軸線兩側(cè)的間隔都相等。所以,軸線之間的間隔比軸線與邊框的間隔大一倍。

stretch(默認(rèn)值):軸線占滿整個(gè)交叉軸。

2、項(xiàng)目的屬性

項(xiàng)目可以設(shè)置的屬性同樣有6個(gè):

order

flex-grow

flex-shrink

flex-basis

flex

align-self

2.1 order

默認(rèn)情況下,項(xiàng)目按源順序排列。但是order屬性可以控制它們?cè)趂lex容器中的顯示順序。

.item {
  order: ; /* default 0 */
}
2.2 flex-grow

flex-grow屬性定義項(xiàng)目的放大比例,如果所有項(xiàng)目的flex-grow屬性都為1,則它們將等分剩余空間(如果有的話)。如果一個(gè)項(xiàng)目的flex-grow屬性為2,其他項(xiàng)目都為1,則前者占據(jù)的剩余空間將比其他項(xiàng)多一倍。

.item {
  flex-grow: ; /* default 0 */
}
2.3 flex-shrink

與flex-grow想反,flex-shrink屬性定義了項(xiàng)目的縮小比例,如果所有項(xiàng)目的flex-shrink屬性都為1,當(dāng)空間不足時(shí),都將等比例縮小。如果一個(gè)項(xiàng)目的flex-shrink屬性為0,其他項(xiàng)目都為1,則空間不足時(shí),前者不縮小。

.item {
  flex-shrink: ; /* default 1 */
}
2.4 flex-basis

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

.item {
  flex-basis:  | auto; /* default auto */
}

它可以設(shè)為跟width或height屬性一樣的值(比如350px),則項(xiàng)目將占據(jù)固定空間。
(https://css-tricks.com/snippe... 中講到這個(gè)關(guān)鍵字還沒有得到很好的支持,因此很難測(cè)試,也很難知道它的兄弟最大內(nèi)容、最小內(nèi)容和適合內(nèi)容做什么。)

2.5 flex

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

.item {
  flex: none | [ <"flex-grow"> <"flex-shrink">? || <"flex-basis"> ]
}

該屬性有兩個(gè)快捷值:auto (1 1 auto) 和 none (0 0 auto)。
建議優(yōu)先使用這個(gè)屬性,而不是多帶帶寫三個(gè)分離的屬性,因?yàn)闉g覽器會(huì)推算相關(guān)值。

2.6 align-self

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

.item {
  align-self: auto | flex-start | flex-end | center | baseline | stretch;
}

該屬性可能取6個(gè)值,除了auto,其他都與align-items屬性完全一致。

三、路漫漫其修遠(yuǎn)兮

???????其實(shí)flex布局沒什么自己的理解,發(fā)這篇文章單純?yōu)榱思由钣∠笞鰝€(gè)總結(jié),這篇文章大部分copy自flex布局教程和A Complete Guide to Flexbox

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://www.ezyhdfw.cn/yun/114737.html

相關(guān)文章

  • 解決flex布局新舊版本的兼容性寫法

    摘要:最新開發(fā)的項(xiàng)目用了的新特性布局,遇到了兼容性的問題。那么新舊版本是什么布局分為舊版本,過渡版本,以及現(xiàn)在的標(biāo)準(zhǔn)版本。所以如果你只是寫新版本的語(yǔ)法形式,是肯定存在兼容性問題的。 最新開發(fā)h5的項(xiàng)目用了css的新特性flex布局,遇到了CSS兼容性的問題。在網(wǎng)上找到了如下的解決辦法。 我寫頁(yè)面的時(shí)候用到過很多的flex布局,覺得非常好用。下面附上一篇不錯(cuò)的flex布局介紹的文章。?Flex...

    raoyi 評(píng)論0 收藏0
  • 刷前端面經(jīng)筆記(二)

    摘要:但這會(huì)帶來(lái)高度塌陷的問題,所以要清除浮動(dòng)。核心內(nèi)置類,會(huì)嘗試先于例外的是,利用的是轉(zhuǎn)換。安全性請(qǐng)求可被緩存,請(qǐng)求保存在瀏覽器的歷史記錄中則不能被緩存。與相比,的安全性較差,因?yàn)榘l(fā)送的數(shù)據(jù)是的一部分。 1.實(shí)現(xiàn)三欄布局(左右兩邊固定寬度,中間自適應(yīng)) 1)浮動(dòng)布局左右兩邊固定寬度,并分別設(shè)置float:left和float:right。(但這會(huì)帶來(lái)高度塌陷的問題,所以要清除浮動(dòng)。清除浮動(dòng)...

    rottengeek 評(píng)論0 收藏0
  • Day06 - Fetch、filter、正則表達(dá)式實(shí)現(xiàn)快速古詩(shī)匹配

    摘要:正則表達(dá)式實(shí)現(xiàn)快速古詩(shī)匹配作者簡(jiǎn)介是推出的一個(gè)天挑戰(zhàn)。數(shù)據(jù)匹配操作使用基礎(chǔ)參考文檔項(xiàng)目源碼分析正則找出匹配的詩(shī)句替換高亮的標(biāo)簽構(gòu)造值會(huì)返回帶搜索關(guān)鍵字的新數(shù)組。執(zhí)行對(duì)大小寫不敏感的匹配。 Day06 - Fetch、filter、正則表達(dá)式實(shí)現(xiàn)快速古詩(shī)匹配 作者:?liyuechun 簡(jiǎn)介:JavaScript30 是 Wes Bos 推出的一個(gè) 30 天挑戰(zhàn)。項(xiàng)目免費(fèi)提供了 30 ...

    Warren 評(píng)論0 收藏0
  • Day06 - Fetch、filter、正則表達(dá)式實(shí)現(xiàn)快速古詩(shī)匹配

    摘要:正則表達(dá)式實(shí)現(xiàn)快速古詩(shī)匹配作者簡(jiǎn)介是推出的一個(gè)天挑戰(zhàn)。數(shù)據(jù)匹配操作使用基礎(chǔ)參考文檔項(xiàng)目源碼分析正則找出匹配的詩(shī)句替換高亮的標(biāo)簽構(gòu)造值會(huì)返回帶搜索關(guān)鍵字的新數(shù)組。執(zhí)行對(duì)大小寫不敏感的匹配。 Day06 - Fetch、filter、正則表達(dá)式實(shí)現(xiàn)快速古詩(shī)匹配 作者:?liyuechun 簡(jiǎn)介:JavaScript30 是 Wes Bos 推出的一個(gè) 30 天挑戰(zhàn)。項(xiàng)目免費(fèi)提供了 30 ...

    Carl 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

legendmohe

|高級(jí)講師

TA的文章

閱讀更多
最新活動(dòng)
閱讀需要支付1元查看
<