精品欧美一区二区三区在线观看 _久久久久国色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技術棧公眾號

欧美一级bbbbb性bbbb喷潮片| 欧美岛国在线观看| 亚洲精蜜桃久在线| 国产精品爽爽久久久久久| 国产精品扒开腿做爽爽爽软件| 日韩欧美中文字幕公布| 免费观看日韩毛片| а√资源新版在线天堂| 99精品国产热久久91蜜凸| 国产91精品久久久久久| 亚洲国产123| 免费短视频成人日韩| 欧美精品一二三| 欧美日韩亚洲一| 亚洲资源一区| 国产日韩av一区| 国产一区二区三区四区hd| 在线观看黄色国产| 久久国产欧美| 久久久之久亚州精品露出| 九九九视频在线观看| 久久aimee| 日韩一区二区视频| 艹b视频在线观看| 涩涩av在线| 亚洲在线免费播放| 国产欧美综合一区| www.黄在线观看| 99久久伊人精品| 成人激情直播| 国产ts人妖调教重口男| 久色婷婷小香蕉久久| 日本精品久久电影| 亚洲国产综合久久| 欧美成熟视频| 久久精品久久久久久国产 免费| 国产黄色网址在线观看| 久久久久久久久久久久久久久久久久久久 | 亚洲国产综合在线看不卡| 久久久精品一区二区| 中文字幕第24页| 国产精品亚洲人成在99www| 在线中文字幕一区| 日韩在线第三页| 久久sese| 在线中文字幕一区二区| 看欧美ab黄色大片视频免费| 成人片免费看| 色999日韩国产欧美一区二区| 水蜜桃色314在线观看| 久草免费在线色站| 亚洲黄色av一区| 国产精品久久成人免费观看| 免费网站看v片在线a| 国产精品久久久久久久久搜平片 | 国产精品自拍偷拍| 伊人精品一区二区三区| 日韩国产精品久久久久久亚洲| 国产91精品久久久| 免费观看日批视频| 久久综合影音| 国产精品丝袜白浆摸在线| 中文字幕在线观看欧美| 国产偷自视频区视频一区二区| 欧美激情欧美狂野欧美精品| 豆国产97在线 | 亚洲| 影音先锋久久久| 国产91精品视频在线观看| 少妇高潮av久久久久久| 日本不卡的三区四区五区| 国产精品视频导航| 国产后入清纯学生妹| 成人中文字幕电影| 欧美连裤袜在线视频| 国产福利在线| 亚洲精品视频在线| 可以在线看的av网站| 丁香六月综合| 91精品国产高清一区二区三区| 国产一级二级av| 丝袜连裤袜欧美激情日韩| 国产午夜精品美女视频明星a级| 欧美波霸videosex极品| 欧美另类视频| 日本不卡高字幕在线2019| 一区二区日韩视频| 成人不卡免费av| 视频三区二区一区| 日本片在线观看| 日本高清不卡视频| 免费观看一区二区三区| 四虎5151久久欧美毛片| 色爱av美腿丝袜综合粉嫩av| 国产成人精品av久久| 青青国产91久久久久久| 国产伦精品一区二区三区高清版| 韩国免费在线视频| 亚洲资源中文字幕| 亚洲第一狼人区| 欧美精品中文字幕亚洲专区| 色多多国产成人永久免费网站 | 91 在线视频| 国产精品试看| 91久久国产自产拍夜夜嗨| 日韩在线无毛| 一区二区在线看| 少妇黄色一级片| 国产精品一线| 不卡av电影院| 伊人久久国产精品| 国产无人区一区二区三区| 免费的一级黄色片| 四虎精品在线观看| 亚洲最大在线视频| 91av在线免费视频| 国产成人综合精品三级| 亚洲一二三区精品| 日本综合字幕| 亚洲韩国日本中文字幕| 亚洲熟女www一区二区三区| 秋霞午夜av一区二区三区| 麻豆成人在线播放| 爱福利在线视频| 日韩精品一区二区三区三区免费| 99在线视频免费| 久久久噜噜噜久久狠狠50岁| 国产精品推荐精品| 污污视频在线| 欧美精品自拍偷拍动漫精品| 怡红院一区二区三区| 国产日韩欧美| 国产一区精品在线| 国产盗摄在线视频网站| 日韩欧美亚洲一区二区| 亚洲欧美另类日本| 蜜臀久久99精品久久久画质超高清| 精品蜜桃传媒| 2021中文字幕在线| 精品日韩一区二区| 国产精品久久久精品四季影院| 另类调教123区| 亚洲国产精品一区二区第一页| 韩漫成人漫画| 亚洲视频axxx| 激情网站在线观看| 国产欧美日韩久久| 中文字幕有码av| 欧美r级电影| 成人乱人伦精品视频在线观看| 欧美私人网站| 91精品国产综合久久国产大片| 国产成人精品视频免费| 久久99精品一区二区三区三区| 亚洲成人第一| 欧美日韩免费电影| y97精品国产97久久久久久| 一区二区三区播放| 综合色中文字幕| 国产又粗又猛又爽又黄| 亚洲午夜黄色| 鲁丝一区二区三区免费| 朝桐光一区二区| 久久精品青青大伊人av| 国内精品久久久久久久久久久| 亚洲综合一区在线| 国产麻豆xxxvideo实拍| 美女国产精品| 一区二区三区四区五区精品| 91麻豆精品一二三区在线| 欧美精品一区三区| 天堂网在线观看视频| 色偷偷88欧美精品久久久| 亚洲第一成人网站| 老司机久久99久久精品播放免费| 欧美一区二区三区成人久久片| 在线成人视屏| 麻豆成人在线看| 日本久久一级片| 在线观看av不卡| 在线视频这里只有精品| jvid福利写真一区二区三区| 黄色片视频在线播放| 欧美日韩精品一区二区视频| 91社区国产高清| www在线观看黄色| 中文字幕视频一区二区在线有码| 精品国产无码一区二区| 欧美午夜精品久久久久久浪潮 | 亚洲一区二区三区视频在线播放| 久久久精品人妻无码专区| 精品一区二区在线观看| 欧美深夜福利视频| 国产精品久久久久久麻豆一区软件| 国产精品对白刺激久久久| 日韩性xxx| 欧美激情第1页| 福利成人在线观看| 亚洲国产高清福利视频| 在线中文字幕网站| 欧美日韩一区二区在线播放| 国产三级国产精品国产国在线观看| 99久久精品久久久久久清纯| 五月婷婷丁香色| 亚洲欧美网站| 中文字幕の友人北条麻妃| 欧美**字幕| 国内精品二区| 一区二区三区四区视频免费观看| 国产精品久久久久久久一区探花| 超碰在线资源| 欧美理论电影在线观看| xxxxx日韩| 亚洲精品视频久久| 国模人体一区二区| 欧美精品1区2区3区| 中文字幕国产在线观看| 亚洲一区二区av电影| 看黄色录像一级片| 国产情人综合久久777777| 在线免费看黄色片| 国产精品一区二区三区99| 欧美成年人视频在线观看| 国产精品美女久久久| 99久久免费观看| 欧美一区精品| 懂色av一区二区三区四区五区| 成人婷婷网色偷偷亚洲男人的天堂| 狠狠爱一区二区三区| 成人高潮视频| 成人免费91在线看| 亚洲综合网站| 97超碰最新| 51vv免费精品视频一区二区 | 国产视频一区二区三区在线播放| 亚洲福利精品| 欧美午夜性视频| 影音先锋日韩资源| 欧美乱大交xxxxx潮喷l头像| 国产精品成人一区二区网站软件| 国产人妻互换一区二区| 911精品美国片911久久久| 手机成人av在线| 先锋资源久久| 午夜久久久久久久久久久| 91久久电影| 日本丰满大乳奶| 欧美1级日本1级| 天堂а√在线中文在线| 中文视频一区| 欧美日韩激情四射| 一区视频在线| 日韩免费一级视频| 天堂影院一区二区| 91视频免费版污| 激情亚洲综合在线| 性色av浪潮av| av日韩在线网站| 播金莲一级淫片aaaaaaa| 久久久久久久综合| 2014亚洲天堂| 亚洲一区二区三区在线播放| 九九热视频精品| 欧美色播在线播放| 亚洲av综合一区| 精品视频在线免费看| 91国内精品视频| 精品国产乱码久久久久久影片| 蜜臀久久99精品久久久| 国产视频精品免费播放| 在线免费看a| 欧美激情第三页| 中文字幕 在线观看| 国产精品视频男人的天堂| 国产专区精品| 美女一区视频| 婷婷综合视频| 久久精品视频16| 日本怡春院一区二区| 一级网站在线观看| 91丨九色丨蝌蚪丨老版| 一区二区三区在线播放视频| 一区二区三区精品久久久| 国产一级做a爱片久久毛片a| 欧美色倩网站大全免费| 超碰福利在线观看| 亚洲欧美日韩第一区| 黄色片网站在线观看| 亚洲97在线观看| 亚洲国产综合在线观看| 久久国产精品 国产精品| 日韩精品免费一区二区在线观看| 国产欧美久久久久| 日本中文在线一区| 韩国三级hd两男一女| 国产精品嫩草影院av蜜臀| 精品少妇一二三区| 欧美色精品在线视频| 黄色一级a毛片| 中文字幕亚洲一区二区三区| free性m.freesex欧美| 国产精品爽爽ⅴa在线观看| 欧美在线关看| www.国产二区| 久久精品国产第一区二区三区| av黄色一级片| 玉足女爽爽91| 91 中文字幕| 亚洲天堂av在线免费观看| 免费看电影在线| 成人女保姆的销魂服务| 欧美日一区二区| 欧美亚洲日本一区二区三区| 国内一区二区视频| 性猛交娇小69hd| 一本色道久久综合亚洲91| 亚洲国产精品二区| 久久亚洲国产精品| 福利一区二区免费视频| 久久久久无码国产精品一区| 亚洲小说区图片区| 日韩av加勒比| 亚洲欧洲在线观看av| 亚洲婷婷久久综合| 亚洲少妇中文在线| 成人线上视频| 欧美黑人3p| 羞羞答答国产精品www一本| 最新版天堂资源在线| 亚洲精选一二三| 99国产精品久久久久久久成人| 日韩专区中文字幕| 日本美女久久| 亚洲精品中文字幕在线| 日本sm残虐另类| 国产破处视频在线观看| 在线观看三级视频欧美| 黄色片免费在线| 国产91色在线免费| 精品大片一区二区| 欧美精品aaaa| 中文成人av在线| 在线观看日批视频| 久久精品国产成人| 91麻豆精品国产91久久久更新资源速度超快| 一区二区三区不卡在线| 久久福利资源站| 中文字幕人妻一区二| 欧美一区二区三区精品| 国产精品国精产品一二| 国产精品区免费视频| 亚洲激情黄色| 国产精品第七页| 欧美日韩亚洲一区二| 国产人成在线视频| 国产有码一区二区| 欧美激情第8页| 高清中文字幕mv的电影| 富二代精品短视频| 国产露出视频在线观看| 国产在线播放不卡| 综合色一区二区| 国产精品伦子伦| 色婷婷综合久久久中文字幕| 成人不用播放器| 91免费在线视频| 亚洲经典视频在线观看| 欧美图片第一页| 欧美久久免费观看| 国产理论电影在线| 日本视频一区二区在线观看| 蜜桃视频在线一区| 久久久久噜噜噜亚洲熟女综合| 日韩电影中文字幕一区| 91欧美精品| 日本阿v视频在线观看| 久久老女人爱爱| 国产男男gay体育生白袜| 国内精品美女av在线播放| 国产成人黄色| 一级做a爱视频| 欧美性jizz18性欧美| 欧美a在线看| 九九九九久久久久| 久久精品av麻豆的观看方式| 国产亚洲精品码| 最近2019中文字幕mv免费看 | 成人福利视频在线看| www.av88| 久久久久久久久久久成人| 精品高清在线| 精品国产免费久久久久久婷婷| 在线亚洲高清视频| 牛牛精品在线| 亚洲精品乱码视频| 99久久99久久久精品齐齐| 91av国产精品| 国产精品精品久久久| 亚洲黄色高清| 久久国产精品国语对白| 亚洲人成人99网站|