精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

終于搞懂了Flex:1 是怎么工作的了!

開發 前端
你有沒有想過 CSS 中的 flex屬性如何工作?它是 flex-grow,flex-shrink和flex-basis的簡寫。開發中最常見的寫法是flex:1,它表示 flex 項目擴展并填充可用空間。

[[426241]] 

你有沒有想過 CSS 中的 flex屬性如何工作?它是 flex-grow,flex-shrink和flex-basis的簡寫。開發中最常見的寫法是flex:1,它表示 flex 項目擴展并填充可用空間。

接下來,我們來詳細看看它表示是什么意思。

flex-grow 屬性

flex-grow屬性定義項目的放大比例,默認為0,即如果存在剩余空間,也不放大。flex-grow的值只接受一個整數。考慮下面代碼:

  1. <div class="wrapper"
  2.   <div class="item item-1"></div> 
  3.   <div class="item item-2"></div> 
  4.   <div class="item item-3"></div> 
  5. </div> 
  1. .wrapper { 
  2.     display: flex; 
  3.     flex-wrap: wrap; 
  4.  
  5. .item { 
  6.     flex-grow: 1; 

注意:flex-grow會影響寬度或高度,具體取決于flex-direction屬性。對于以下示例,默認的flex-direction的值都是row。

在不使用flex-grow的情況下,flex 項目的寬度將默認為其初始寬度。但是,使用flex-grow: 1時,flex 項目會平均剩余可用的空間。

你可能想知道,flex 項目之間的空間是如何分配的?嗯,這是個好問題,稍后會回答。

在下面的圖中,是沒有使用flex-grow情況。換句話說,這是它們的自然大小。

要了解 flex 項目寬度的計算方式,可以參考下面的公式。

我們來計算一下文本是 CSS 的項目寬度。

項目寬度 = (( flex-grow / flex-grow 總個數) * 可用空間)+ 初始項目寬度

多個 flex-grow 值

在前面的示例中,所有flex項目的flex-grow值都相同。現在我們把第一項的flex-grow值改為2。這們它又是如何計算?請注意,本示例的可用空間為498px。

上圖已經解釋的很清楚,這里就不在啰嗦了,還不懂的,可以多看幾次。

可以用0作為flex-grow的值嗎?

當然可以!因為flex-grow屬性接受整數值,所以可以使用0,可以防止 flex 項目占用可用空間的一種方式。

這在邊界情況下非常有用,我們希望使 flex 項目保持其初始寬度。

flex-grow 不能讓 flex 項目相等

有一個常見的誤解,使用flex-grow會使項目的寬度相等。這是不正確的,flex-grow的作用是分配可用空間。正如在公式中看到的,每 flex 項目的寬度是基于其初始寬度計算的(應用flex-grow之前的寬度)。

如果你想讓項目的寬度相等,可以使用flex-basis,這個在接下來的部分會對此進行講解。

flex-shrink 屬性

flex-shrink屬性定義了項目的縮小比例,默認為1,即如果空間不足,該項目將縮小。

考慮下面的例子:中間的項目寬度為300px,flex-shrink的值為```。如果沒有足夠的空間來容納所有的項目,則允許項目縮小寬度。

  1. .item-2 { 
  2.     width: 300px; 
  3.     flex-shrink: 1; 

在下列條件下,瀏覽器會保持項目寬度為300px:

  • 所有項目寬度的總和小于包裝器寬度
  • 視窗寬度等于或小于項目

下面是項目在不同視口大小下的行為。

如圖所示,在視口寬度大于300px時,寬度為300px,少于 300px,該項目的寬度就被壓縮成跟視口一樣的寬度。

flex-basis 屬性

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

flex-basis可以設為跟width或height屬性一樣的值(比如350px,默認值為 auto),則項目將占據固定空間。

  1. .item-1 { 
  2.     flex-grow: 0; 
  3.     flex-shrink: 0; 
  4.     flex-basis: 50%; 

在上面的例子中,第一項的寬度為50%。這里需要將flex-grow重置為0,以防止項目寬度超過50%。

如果將 flex-basis 設置為 100%,會怎么樣?該項目單獨占一行,其他項目將換行。

flex 屬性

flex屬性是flex-grow, flex-shrink 和 flex-basis的簡寫,默認值為0 1 auto。后兩個屬性可選。這也說 flex 項目會根據其內容大小增長

flex 項目相對大小

  1. .item { 
  2.     /* 默認值,相當于 flex:1 1 auto */ 
  3.     flex: auto; 

flex 項目的大小取決于內容。因此,內容越多的flex項目就會越大。

flex 項目絕對大小

相反,當flex-basis屬性設置為0時,所有flex項目大小會保持一致。

  1. .item { 
  2.     /* 相當于  flex: 1 1 0% */ 
  3.     flex: 1; 

我喜歡 flex 屬性

的幾個點!顧名思義,此屬性可以靈活使用其值。請看下面的例子。

一個值的情況

  1. .item { 
  2.     flex: 1; 

上面默認對應的值是 1 1 0,也就是 flex-grow: 1,flex-shrink:1, flex-basic: 0。

兩個值的情況

  1. .item { 
  2.     flex: 1 1; 

上面對應的值是 1 1 0,也就是 flex-grow: 1,flex-shrink:1, flex-basic: 0。

一個長度值

如果 flex 值是一個長度值,這會作用于flex-basis。flex-grow和flex-shrink默認為1。

  1. .item { 
  2.     flex: 100px; 
  3.     /* flex: 1 1 100px */ 

使用無單位0

有時,你想把 felx-basis 設置為 0,你可能會這樣寫:

  1. .item { 
  2.     flex: 0; 

不建議這樣做,因為讓開發人員和瀏覽器感到困惑。你到底是要把 flex-grow 或者 flex-shirnk 設置為 0,還是將 flex-basis 設置為 0。

所以,你應該添加一個單位,如px或%。

  1. .item { 
  2.     flex: 0%; 
  3.     /* flex: 1 1 0% */ 

建議使用 flex 簡寫屬性

當你需要設置grow、shrink和basis時,最好使用flex屬性來實現這個目的。

根據 CSS 規范:

  • 建議開發者使用 `flex` 簡寫來控制靈活性,而不是直接使用它的普通屬性,因為簡寫的可以正確地重置任何未指定的組件以適應常見情景。

flex 用例

用戶頭像

flexbox 的一個常見用例是用戶組件,頭像和文本內容應該在同一行。

  1. <div class="user"
  2.  <img class="user__avatar" src="shadeed.jpg" alt="" /> 
  3.  <div> 
  4.   <h3>Ahmad Shadeed</h3> 
  5.   <p>Author of Debugging CSS</p> 
  6.  </div> 
  7. </div> 
  1. .user { 
  2.     display: flex; 
  3.     flex-wrap: wrap; 
  4.     align-items: center; 
  5.  
  6. .user__avatar { 
  7.     flex: 0 0 70px; 
  8.     width: 70px; 
  9.     height: 70px; 

上面為 頭像 添加了 flex:0 0 70px。如果這里不這樣設置,在某些舊版瀏覽器,圖像看起來像被壓縮的一樣。除此之外,flex 的優先級高于width屬性(flex-direction: row)或height(flex-direction: column)。

如果我們僅通過調整flex屬性來改變頭像的大小,那么width將被瀏覽器忽略。

  1. .user__avatar { 
  2.     /* width 是 100px, 不是 70px */ 
  3.     flex: 0 0 100px; 
  4.     width: 70px; 
  5.     height: 70px; 

頭部

如果想讓一個標題填滿所有可用的空間,使用flex: 1非常適合這種情況。

  1. .page-header { 
  2.     display: flex; 
  3.     flex-wrap: wrap;  
  4.  
  5. .page-header__title { 
  6.     flex: 1; 

輸入框

  1. form { 
  2.     display: flex; 
  3.     flex-wrap: wrap;  
  4.  
  5. input { 
  6.     flex: 1; 
  7.     /* Other styles */ 

在兩張卡片上對齊最后一項

假設CSS grid具有兩列布局。這里的問題是日期沒有對齊,它們應該在同一條線上(紅色那條)。

我們可以使用flexbox做到這一點。

  1. <div class="card"
  2.  <img src="thumb.jpg" alt=""
  3.  <h3 class="card__title">Title short</h3> 
  4.  <time class="card__date"></time
  5. </div> 

通過設置flex-direction: column,我們可以在標題上使用flex-grow使其填充可用空間,這樣,即使標題很短也將日期保留在末尾。

  1. .card { 
  2.     display: flex; 
  3.     flex-direction: column
  4.  
  5. /* 第一個解決方案 */ 
  6. .card__title { 
  7.     flex-grow: 1; 

同樣,無需使用flex-grow也可實現,我們使用margin-top: auto

  1. /* 第二個解決方案*/ 
  2. .card__date { 
  3.     margin-top: auto; 

用例 - 多個 flex 屬性

這里的意思是使用flex-grow或flex-shrink,但值不為1。在本節中,我們會探討一些可以將其合并的想法。

footer

像上面這樣的布局, 我們可以這樣寫:

  1. .actions { 
  2.     display: flex; 
  3.     flex-wrap: wrap; 
  4.  
  5. .actions__item { 
  6.     flex: 2; 
  7.  
  8. .actions__item.user { 
  9.     flex: 1; 

擴展動畫

我們可以做的一件有趣的事情是在懸停時為flex項目設置動畫。這很有用的,下面是一個簡單的例子:

  1. .palette { 
  2.     display: flex; 
  3.     flex-wrap: wrap; 
  4.  
  5. .palette__item { 
  6.     flex: 1; 
  7.     transition: flex 0.3s ease-out
  8.  
  9. .palette__item:hover { 
  10.     flex: 4; 

增加的用戶體驗

源碼:https://codepen.io/shshaw/pen/EbjvbQ

當內容大于其包裝器時

不久前,我收到一個讀者的問題,他的問題如下。如圖所示,兩個圖像應保留在其包裝的邊界內。

  1. .wrapper { 
  2.     display: flex; 
  3.  
  4. .wrapper img { 
  5.     flex: 1; 

這里,即使 使用了 flex: 1,圖像仍然會溢出。根據CSS規范:

默認情況下,flex 項目不會縮小到其最小內容大小(最長的單詞或固定大小的元素的長度)以下。要更改此設置,請設置min-width或min-height屬性。

上面情況,是由于圖片太大,flexbox不會縮小圖片。要更改此行為,我們需要設置以下內容:

  1. .wrapper img { 
  2.     flex: 1; 
  3.     min-width: 0; 

作者:Ahmad shaded 譯者:前端小智

來源:sitepoint 原文:https://ishadeed.com/article/css-flex-property/

【編輯推薦】

 

責任編輯:姜華 來源: 大遷世界
相關推薦

2021-09-27 08:49:03

開發 CSS padding

2021-09-26 08:22:51

CSS 技巧百分比

2024-12-03 08:16:57

2025-07-15 10:41:44

2024-10-16 07:58:48

2024-09-23 09:12:20

2024-07-17 09:32:19

2020-06-09 08:19:25

微服務網站架構

2024-08-01 08:41:08

2024-09-12 08:28:32

2024-10-17 13:05:35

神經網絡算法機器學習深度學習

2020-06-18 10:52:17

運維架構技術

2024-11-05 12:56:06

機器學習函數MSE

2024-10-14 14:02:17

機器學習評估指標人工智能

2024-08-23 09:06:35

機器學習混淆矩陣預測

2024-09-18 16:42:58

機器學習評估指標模型

2025-02-17 13:09:59

深度學習模型壓縮量化

2024-10-08 10:16:22

2025-01-20 09:21:00

2024-10-30 08:23:07

點贊
收藏

51CTO技術棧公眾號

国产1区2区在线观看| japanese在线播放| 国产精品久免费的黄网站| 日本午夜精品久久久| 精品动漫一区二区| 欧美精品与人动性物交免费看| 国产99久久久| 精品国产一级毛片| 欧美日韩aaaaaa| 7777在线视频| 欧美自拍偷拍一区二区| 99xxxx成人网| 中文字幕不卡av| 精品国产乱码久久久久久1区二区 91网址在线观看精品 | 91网在线播放| 国产揄拍国内精品对白| 欧美精品www| 免费无码一区二区三区| 777午夜精品电影免费看| 中文字幕一区免费在线观看| 国产精品国产三级欧美二区| 最新中文字幕一区| 久久av综合| 91精品中文字幕一区二区三区| bt天堂新版中文在线地址| 免费成人av电影| 韩国午夜理伦三级不卡影院| 国产91av在线| 天海翼在线视频| 日韩av中文字幕一区| 欧美日韩视频在线观看一区二区三区| 香港三级日本三级a视频| 欧美日韩国产综合视频| 国产精品中文字幕日韩精品| 欧美一级大片在线观看| 欧美日韩午夜视频| 妖精视频一区二区三区| 日韩免费高清av| 日韩中文字幕免费在线| 羞羞的网站在线观看| 国产女人18毛片水真多成人如厕| 91九色视频导航| 天天操天天摸天天干| 午夜精品婷婷| 在线电影av不卡网址| 在线xxxxx| 国产高清视频一区二区| 日本韩国欧美在线| 国产精品入口芒果| 国产成人高清精品| 中文字幕不卡在线观看| 精品一区久久| 黑人乱码一区二区三区av| 久99久精品视频免费观看| 欧美另类高清videos| а天堂中文在线资源| 免费精品国产的网站免费观看| 精品久久国产老人久久综合| 精品人妻一区二区三| 伊人久久大香| 在线观看一区二区精品视频| 国产a级一级片| 黄色在线观看视频网站| 一区二区久久久久| 水蜜桃在线免费观看| 色的视频在线免费看| 91麻豆福利精品推荐| 韩国成人一区| 丰满熟女一区二区三区| 高清shemale亚洲人妖| 91九色单男在线观看| 国产精品毛片久久久久久久av| 日本成人在线视频网站| 国产精品高潮呻吟久久av无限| 国产精品一区二区6| 日韩午夜激情| 欧美性资源免费| 中文在线第一页| 久久国产成人| 国产精品福利久久久| 国产主播第一页| 久久性天堂网| 91精品国产色综合久久不卡98口| 国产中文字幕免费| 亚洲精品日本| 日本成人精品在线| 成人午夜精品视频| 久久成人免费网站| 俄罗斯精品一区二区| 日本高清视频在线| jiyouzz国产精品久久| 国产亚洲欧美一区二区| 欧美扣逼视频| 国产日韩欧美麻豆| 中文精品一区二区三区| 日本高清在线观看| 亚洲综合色在线| 国产午夜伦鲁鲁| 中文在线资源| 欧美亚洲图片小说| 男女视频在线观看网站| 波多野结衣一区二区三区免费视频| 亚洲精品美女免费| 一区二区三区伦理片| 国产高清久久| 国内精品久久久久久| 亚洲欧美日韩激情| 精品一二三四区| 国产精品免费一区二区三区四区 | 精品免费国产一区二区三区四区| 免费a v网站| 国产免费av一区二区三区| 麻豆一区二区在线观看| 日韩一区二区视频在线| 奇米在线7777在线精品| 97神马电影| 嫩草研究院在线观看| 综合婷婷亚洲小说| 奇米精品一区二区三区| 中文字幕日韩亚洲| 精品视频在线播放免| 色www亚洲国产阿娇yao| 雨宫琴音一区二区在线| 国产精品视频最多的网站| 亚洲精品一区二区三区新线路 | 丰满熟女一区二区三区| 国产亚洲va综合人人澡精品| 国产av熟女一区二区三区| 在线观看特色大片免费视频| 91麻豆精品国产| 91精品人妻一区二区| 2023国产精品久久久精品双| 日本成人黄色片| 黄色aaa毛片| ...xxx性欧美| 污污视频网站免费观看| 国产精品自在线拍| 久久精品国产2020观看福利| www.国产毛片| 99这里都是精品| 男人j进女人j| 欧美aaaaaaaa| 亚洲国产成人精品一区二区| 亚洲天堂一级片| 日韩精品乱码av一区二区| 国产精品毛片一区视频| jizz性欧美10| 日本福利一区二区| 欧美xxxxx精品| 午夜精品婷婷| 亚洲一区二区中文| 日本福利专区在线观看| 色综合天天综合| 亚洲av成人片色在线观看高潮| 亚洲精品午夜av福利久久蜜桃| 国产精品av在线播放| 色婷婷av一区二区三区之红樱桃 | 成人免费在线视频网| 福利精品视频在线| 亚洲国产果冻传媒av在线观看| 欧美va亚洲va日韩∨a综合色| 成人国产精品免费视频| 天堂中文а√在线| 欧美视频精品在线| 五月婷婷六月香| 美女诱惑一区二区| 亚洲黄色一区二区三区| 色综合天天色| 在线国产精品播放| 最近中文在线观看| 91毛片在线观看| 日韩在线视频在线观看| 九九亚洲视频| 国产成人亚洲综合91精品| 少妇喷水在线观看| 亚洲高清一区二区三区| 亚洲天堂资源在线| 国产一区二区精品| 欧美久久电影| 日韩三区免费| 最近2019中文字幕mv免费看| 久草视频一区二区| 欧美极品aⅴ影院| 午夜久久福利视频| 欧美精品网站| 韩国精品一区二区三区六区色诱| 碰碰在线视频| 夜夜嗨av色综合久久久综合网 | 欧美性高跟鞋xxxxhd| 精品国产av无码| 欧美aaa在线| 超碰成人在线免费观看| **国产精品| 欧美日韩aaaa| 日韩大胆视频| 欧美日韩一区高清| wwwav国产| 不卡视频一二三| 99视频在线免费| 亚洲色图88| 精品国产乱码久久久久久蜜柚| 亚洲国产欧美日本视频| 主播福利视频一区| 亚洲狼人综合网| 欧美性xxxxx| 欧美做爰啪啪xxxⅹ性| 久久国产夜色精品鲁鲁99| 成人在线免费高清视频| 人体久久天天| 国产精品偷伦一区二区 | 91欧美日韩在线| 1769国内精品视频在线播放| av网站无病毒在线| 欧美sm极限捆绑bd| 无码久久精品国产亚洲av影片| 欧美激情中文字幕| 国产一精品一aⅴ一免费| 久久一区亚洲| 91国在线高清视频| av一区二区高清| 国产91一区二区三区| 国产精品高潮久久| 欧亚精品中文字幕| 美女av在线播放| 亚洲性猛交xxxxwww| 黄色av小说在线观看| 欧美日韩中文精品| 男女视频免费看| 亚洲精品免费电影| 欧美日韩国产黄色| 337p粉嫩大胆噜噜噜噜噜91av| 天天干天天色天天干| 日韩精品电影一区亚洲| 丝袜人妻一区二区三区| 亚洲精彩视频| 亚洲免费视频一区| 一本色道久久综合狠狠躁的番外| 91精品免费| 国产成人精选| 国产成人精品免费久久久久 | 亚洲情趣在线观看| 一级片久久久久| 91影院在线免费观看| 女女调教被c哭捆绑喷水百合| 蜜桃精品在线观看| 日韩免费高清在线| 国产午夜久久| 国产一线二线三线女| 午夜国产精品视频| 91成人在线视频观看| 婷婷综合亚洲| 在线不卡日本| 午夜激情一区| 青青青免费在线| 久久久噜噜噜| 一区二区三区视频网| 日本最新不卡在线| 日本人69视频| 先锋影音一区二区| 美女视频网站久久| 日本888xxxx| 蜜桃视频在线观看一区二区| 污片在线免费看| 精品一区二区久久| 免费国偷自产拍精品视频| 成人av在线一区二区三区| 亚洲av网址在线| 欧美国产禁国产网站cc| 国产精品国产精品88| 亚洲午夜一区二区三区| 青青草成人av| 色爱区综合激月婷婷| 国产尤物在线观看| 精品国产乱码91久久久久久网站| 午夜福利理论片在线观看| 亚洲欧美激情视频| 精品176二区| 97精品欧美一区二区三区| 欧美人与性动交xxⅹxx| 国产欧美 在线欧美| 中文一区二区三区四区| 久久青青草原一区二区| 手机在线电影一区| www.国产在线播放| 日本怡春院一区二区| 香蕉视频xxx| 91小视频免费观看| 多男操一女视频| 婷婷开心激情综合| 一区二区视频播放| 亚洲国产精品福利| 青青青青在线| 91av在线影院| 91成人小视频| 免费在线成人av| 欧美激情亚洲| 91在线视频观看免费| 成人国产视频在线观看| 香蕉久久久久久久| 精品久久久久久亚洲精品| 91中文字幕在线视频| 亚洲精选在线观看| 欧美韩日亚洲| 国产欧美日韩最新| 亚洲第一福利社区| 久久久久福利视频| 男人的天堂亚洲一区| jlzzjizz在线播放观看| 亚洲女厕所小便bbb| 亚洲精品一区二三区| 亚洲国产精品福利| 中文av资源在线| 国产日韩综合一区二区性色av| 日韩欧美天堂| 无码熟妇人妻av在线电影| 精品在线播放免费| 谁有免费的黄色网址| 亚洲成av人片一区二区梦乃| 国产乱码久久久| 综合久久五月天| 自拍在线观看| 久久久国际精品| 日本激情视频在线播放| 不卡欧美aaaaa| 黄色一级视频在线观看| 欧美久久免费观看| av在线资源站| 国产精品久久久久久久美男| 亚洲激情77| 欧美视频在线播放一区| 丁香啪啪综合成人亚洲小说 | 自拍偷拍欧美精品| 在线免费观看国产精品| 亚洲欧美在线免费| 成人私拍视频| 国产日韩欧美亚洲一区| 欧美成熟视频| 激情文学亚洲色图| 中文字幕中文字幕一区二区| 中文字幕乱码中文字幕| 亚洲最新av网址| 亚洲四虎影院| 四虎影视永久免费在线观看一区二区三区 | 福利一区和二区| 视频一区视频二区视频| 日韩中文欧美在线| 亚洲AV无码成人精品区明星换面| 在线免费观看日本欧美| av网站在线免费播放| 国产日韩欧美自拍| 97人人精品| 中文字幕在线视频一区二区| 亚洲老妇xxxxxx| 成人久久精品人妻一区二区三区| 色综合天天狠天天透天天伊人| 一区二区三区自拍视频| 日韩网站在线免费观看| 99re这里只有精品视频首页| 国产中文字幕视频| 亚洲新声在线观看| 日韩第二十一页| 久久久久久久久影视| 成人手机在线视频| 国产精品100| 一本色道久久综合狠狠躁篇怎么玩 | 日韩av地址| 国产不卡av在线| 国产精品毛片久久| 日本一区二区免费视频| 欧美日韩午夜剧场| 95在线视频| 99久热re在线精品996热视频| 国内精品久久久久久久97牛牛| 超碰caoprom| 在线亚洲精品福利网址导航| 激情影院在线观看| 国产区欧美区日韩区| 久久精品中文| 日韩福利小视频| 日韩的一区二区| av亚洲一区| 久久精品xxx| 国产三级三级三级精品8ⅰ区| 国产青青草视频| 91成人性视频| 久久五月天小说| 日本国产在线视频| 在线看日本不卡| 四虎亚洲成人| 午夜精品视频在线观看一区二区| 国产精品 日产精品 欧美精品| 91午夜视频在线观看| 日韩在线中文字| 欧美挤奶吃奶水xxxxx| 天天影视色综合| 精品久久久国产| 国产网站在线免费观看| 欧美日韩综合久久| 懂色av一区二区三区蜜臀| 午夜一级黄色片|