久久精品五月,日韩不卡视频在线观看,国产精品videossex久久发布 ,久久av综合

站長資訊網
最全最豐富的資訊網站

帶你吃透Flex布局的三個屬性:flex-grow、flex-shrink、flex-basis

本篇文章帶大家深入了解CSS Flex布局的三個屬性:flex-grow、flex-shrink、flex-basis,希望對大家有所幫助!

帶你吃透Flex布局的三個屬性:flex-grow、flex-shrink、flex-basis

前端(vue)入門到精通課程,老師在線輔導:聯系老師
Apipost = Postman + Swagger + Mock + Jmeter 超好用的API調試工具:點擊使用

【推薦學習:css視頻教程、web前端】

在我們日常開發中,flex布局可以說是家常便飯,對于很多的我們來說(你懂得^_^),可能我們用的比較多的應該就是垂直居中里,也就是下面這段代碼:

.flex-box{   display: flex;   justify-content: center;   align-items: center; }
登錄后復制

寫的非常好(^_^)!然后我們都知道這個是定義在父元素的,布局效果是在子元素生效的!對吧!但是我們有沒有想過這樣的問題?

  • 假如所有子元素寬度之和大于父元素的寬度時,這時候的子元素會如何變化?
  • 假如所有子元素寬度之和小于父元素的寬度時,這時候的子元素又會如何變化?

我們先不管這兩個問題是怎么樣,又是怎么解決的!我們先來了解一下flex-grow、flex-shrink、flex-basis這三個元素是個啥,又是怎么用,下面我們一起來學習學習!

1 flex-grow

  • flex-grow:grow的中文意思是擴大,用來分配父元素剩余空間的相對比例。默認值為0。我們先看一個例子:

/* 父元素 */ .flex-box{     display: flex;     width: 300px;     height: 300px;     margin:0 auto;     background-color: #000; }  /* 子元素left */ .left{     flex-grow: 1;     width: 100px;     background-color: orange; } /* 子元素right */ .right{     flex-grow: 0;     width:100px;     background-color: cyan; }
登錄后復制

上面我們可以看出子元素left和right的寬度之和為200px,而父元素寬度為300px,也就是說父元素還有空余空間,而真正的效果如圖所示。

帶你吃透Flex布局的三個屬性:flex-grow、flex-shrink、flex-basis我們會發現子元素left的寬度會變成200px,這就是flex-grow的作用了,flex-grow為0不做處理,而left盒子的flex-grow為1。也就是剩余寬度空間全部分配給了left盒子,假如flex-grow屬性變成這樣呢?

/* 子元素left */ .left{     ...     flex-grow: 3;     ... } /* 子元素right */ .right{     ...     flex-grow: 1;     ... }
登錄后復制

這樣處理的話也就是剩余空間按照left:right為3:1處理,多出來的空間:300px-(100px+100px)=100px;left的寬度:100px+100px*(100px*3/(100*3+100*1)) = 175px;right的寬度:100px+100px*(100px*1/(100*3+100*1)) = 125px;這就解析了當所有子元素寬度之和小于父元素寬度之和時,子元素如何處理?這個問題了。

注意地,如果所有子元素的flex-grow的值是一樣的話,那么剩余空間就按照平均分配。

帶你吃透Flex布局的三個屬性:flex-grow、flex-shrink、flex-basis

2 flex-shrink

  • flex-shrink:shrink的中文意思是收縮,用來指定flex元素的收縮規則。默認值為1。我們先看一個例子:

/* 父元素 */ .flex-box{     display: flex;     width: 300px;     height: 300px;     ... } /* 子元素left */ .left{     flex-shrink: 3;     width: 200px;     background-color: orange; } /* 子元素right */ .right{     flex-shrink: 1;     width:200px;     background-color: cyan; }
登錄后復制

帶你吃透Flex布局的三個屬性:flex-grow、flex-shrink、flex-basis首先,所有子元素寬度之和大于父元素寬度(200px+200px>300px)。由于父元素的寬高都是固定的,所以不能撐大父元素,只能縮小子元素。子元素flex-shrink的比為3:1,所以子元素left的寬度為:200px-100px*(200px*3/(200px*3+200px*1)) = 125px;子元素right的寬度為:200px-100px*(200px*1/(200px*3+200px*1)) = 175px;這樣也就解析了當所有子元素的寬度和大于父元素寬度和的時候,子元素是如何處理的這個問題的了。

3 flex-basis

  • flex-basis:basis的中文意思是基準,用來指定子元素內容盒尺寸大小。默認值為auto。我們先看一下下面這個例子:

    .flex-box{         display: flex;         width: 300px;         height: 300px;         margin:0 auto;         background-color: #000;     }      .left{         width: 200px;         flex-basis: 100px;         background-color: orange;     }     .right{         width:100px;         background-color: cyan;     }
登錄后復制

帶你吃透Flex布局的三個屬性:flex-grow、flex-shrink、flex-basis細心地我們發現,left的寬度是不是有點奇怪?上面left不是定義了一個width:200px,為什么效果會是100px的?我們都知道flex-basis是基準,其實在flex布局下,這個屬性的優先級比width要高的,當flex-basis與width都存在時,是以前者的值為準的。 好了好了,三個元素我們都學完了,總結一下:

  • flex-grow:值大于0,主要是解決父元素寬度大于所有子元素寬度之和時,子元素合理分配父元素剩余空間。值為0時,子元素盒子空間不做擴大處理。
  • flex-shrink:值大于0,主要是解決父元素寬度小于所有子元素寬度之和時,子元素縮小寬度以適應父元素寬度,值為0時,子元素盒子空間不做縮小處理。
  • flex-basis:其實也可以理解為在flex布局下,一個高優先級的寬度

4 結合flex屬性使用

除了上面各自分開使用這三個屬性,還可以盒子一起使用也就是:

flex:flex-grow flex-shrink flex-basis; /*記憶法:g(拱)s(?)b(?)后面兩個字懂了吧^_^*/
登錄后復制

flex屬性可以靈活處理這三個屬性,可以單值、雙值處理,這樣的話,flex屬性分別代表什么?

  • 當flex為單值時,可代表一個無單位數(默認為flex:number 1 0;)、一個有效寬度值(flex:100px,即是flex-basis)、或者特殊值(none、auto、initial)

none:元素會根據自身寬高來設置尺寸。它是完全非彈性的:既不會縮短,也不會伸長來適應 flex 容器。相當于將屬性設置為flex: 0 0 auto

auto:會伸長并吸收 flex 容器中額外的自由空間,也會縮短自身來適應 flex 容器。這相當于將屬性設置為 flex: 1 1 auto。

initial:它會縮短自身以適應 flex 容器,但不會伸長并吸收 flex 容器中的額外自由空間來適應 flex 容器。

  • 當flex為雙值時,第一個數必須為無單位數(代表flex-grow)、第二個數為一個無單位數(flex-shrink)或一個有效寬度(flex-basis)

5 一道筆試題

  • 以下布局在頁面上的寬度比是?

/*父元素*/ .flex{     display: flex;     width: 200px;     height: 100px;     margin:0 auto;     background-color: #000; }  /*子元素*/ .left{     flex:3 2 50px;     background-color: orange; }  /*子元素*/ .right{     flex:2 1 200px;     background-color: cyan; }
登錄后復制

從上面我們可以看到子元素的flex值太復雜,其實我們可以先不看前面兩值,先看最后一值(flex-basis)。如果所有子元素的flex-basis之和大于父元素之和考慮第一個值,如果所有子元素的flex-basis之和小于父元素之和考慮第二個值。上面所有子元素寬度50px+200px=250px大于父元素寬度200px,所以考慮第二個值也就是子元素left和子元素right的flex-shrink屬性比2:1,超出部分50px這樣處理left的寬度縮小為:50px-50px*(50px*2/(50px*2+200px*1)) = 33.34;right的寬度為:200px-50px*(200px*2/(50px*2+200px*1)) = 166.66。 所以上面題目答案為33.34:166.66 = 1:5

【推薦學習:web前端開發】

贊(0)
分享到: 更多 (0)
?
網站地圖   滬ICP備18035694號-2    滬公網安備31011702889846號
久久精品五月,日韩不卡视频在线观看,国产精品videossex久久发布 ,久久av综合
91麻豆精品| 久久久久久久欧美精品| 日韩另类视频| 精品精品99| 国产成人精品亚洲线观看| 精品在线网站观看| 麻豆精品蜜桃视频网站| 日韩a一区二区| 天堂网在线观看国产精品| 99精品网站| 亚洲精品高潮| 国产中文在线播放| 欧美午夜精彩| 久久亚洲二区| 久久免费影院| 欧美日韩国产一区二区三区不卡| 老鸭窝毛片一区二区三区| 国产亚洲毛片| 久草精品视频| 日韩高清电影一区| 久久九九国产| 综合一区av| 99热精品久久| 久久精品伊人| 久久亚洲风情| 一区二区三区四区在线看| 91亚洲精品视频在线观看| 亚洲黄色中文字幕| 日韩av成人高清| 亚洲电影在线一区二区三区| 欧美另类中文字幕| 蜜桃av一区二区三区电影| 色婷婷亚洲mv天堂mv在影片| 日韩一区二区三区四区五区| 欧美成人日韩| 日本在线精品| 国产亚洲一区二区三区不卡| 尤物网精品视频| 亚洲一级在线| 亚洲国产成人精品女人| 精品中文在线| 久久精品人人| 精品亚洲精品| 天海翼精品一区二区三区| 亚洲精品91| 99久久久久国产精品| 麻豆91在线播放| 在线精品国产亚洲| 在线精品福利| 亚洲一区av| 国产欧美一区二区色老头| 午夜亚洲福利| 国产亚洲一区在线| 另类亚洲自拍| 日韩精品一区二区三区免费视频| 精品日韩在线| 欧美综合另类| 亚洲激情社区| 97在线精品| 日韩综合一区二区三区| 亚洲激情五月| 国产免费成人| 日韩欧美久久| 偷拍欧美精品| 男人操女人的视频在线观看欧美| 亚洲香蕉久久| 狠狠久久伊人| 亚洲高清久久| 男人的天堂亚洲一区| 国产精品麻豆成人av电影艾秋 | 免费看久久久| 日韩不卡视频在线观看| 欧美日韩国产免费观看| 亚洲狼人精品一区二区三区| 国产精品www.| 免费在线观看一区二区三区| 国产精品xvideos88| 欧美日韩黑人| 成人午夜在线| 亚洲a成人v| 国产一区日韩欧美| 欧美成a人片免费观看久久五月天| 麻豆精品视频在线| 亚洲一区二区三区中文字幕在线观看 | 激情综合自拍| 欧美一区网站| 国产视频欧美| 九九久久国产| **爰片久久毛片| 性色一区二区| 美女久久久久久 | 石原莉奈一区二区三区在线观看| 性欧美长视频| 青草久久视频| 欧美亚洲综合视频| 国产亚洲一区二区三区不卡| 国产毛片精品久久| 国产96在线亚洲| 欧美99久久| 丝袜脚交一区二区| 国产亚洲字幕| 成人高清一区| 中文精品在线| 国产情侣一区在线| 在线天堂中文资源最新版| 最新国产拍偷乱拍精品| 日韩欧美中文字幕电影| 成人精品高清在线视频| 在线亚洲激情| 欧美视频久久| 日韩高清中文字幕一区二区| 亚洲精品四区| 91欧美在线| 国产日韩中文在线中文字幕 | 国产视频网站一区二区三区| 欧美aa一级| 国产精品a久久久久| 不卡在线一区| 亚洲毛片在线| 国产一区二区三区四区大秀| 午夜欧美精品久久久久久久| 国产一区2区| 蜜桃一区二区三区在线| 久久人人97超碰国产公开结果| 欧美一区二区三区久久| 亚洲欧美日本日韩| 久久国产电影| 欧美日韩尤物久久| 91亚洲国产| 日韩高清欧美激情| 一区二区电影在线观看| 亚洲性色视频| 蜜臀国产一区| 精品午夜久久| 久久99青青| 久久99影视| 国产精品久久久久久久久久齐齐| 久久精品国内一区二区三区水蜜桃| 美日韩一区二区三区| 国产美女撒尿一区二区| 国产精品红桃| 国产精品精品国产一区二区| 免费看久久久| 国产精品亚洲一区二区三区在线观看| 久久精品国产网站| 福利片在线一区二区| 97精品国产| 正在播放日韩精品| 日韩精品诱惑一区?区三区| 日本不良网站在线观看| 私拍精品福利视频在线一区| 欧美日韩激情| 在线一区免费观看| 日韩欧美三区| 国产一区二区三区四区五区| 欧洲av一区二区| 久久亚洲美女| 国产精品红桃| 久久久水蜜桃av免费网站| aⅴ色国产欧美| 欧美精品91| 欧美亚洲精品在线| 欧美伊人影院| 亚洲韩日在线| 日本a级不卡| 亚洲国内精品| 国产亚洲欧美日韩在线观看一区二区 | 黄色精品网站| 美女国产一区二区三区| 91久久午夜| 国产suv精品一区二区四区视频| 久久理论电影| 欧美极品一区二区三区| 天堂av在线一区| 国产不卡av一区二区| 中文字幕av一区二区三区人 | 欧美成人久久| 国产亚洲精品美女久久| 99精品电影| 久久久天天操| 久久精品国产成人一区二区三区| 伊人影院久久| 日本免费一区二区三区四区| 日本精品久久| 亚洲精品欧美| 综合国产在线| 一区二区三区国产盗摄| 免费精品国产| 久久亚洲国产| 久久久人人人| 精品一区欧美| 99视频精品全国免费| 欧美精品不卡| 国产精品麻豆久久| 精品五月天堂| 神马午夜在线视频| 欧美日一区二区| 黄色成人在线网址| 亚洲乱码一区| 日韩精品a在线观看91|