麻豆黑色丝袜jk制服福利网站-麻豆精品传媒视频观看-麻豆精品传媒一二三区在线视频-麻豆精选传媒4区2021-在线视频99-在线视频a

千鋒教育-做有情懷、有良心、有品質的職業教育機構

手機站
千鋒教育

千鋒學習站 | 隨時隨地免費學

千鋒教育

掃一掃進入千鋒手機站

領取全套視頻
千鋒教育

關注千鋒學習站小程序
隨時隨地免費學習課程

當前位置:首頁  >  技術干貨  > 如何講清楚Flex彈性盒模型(中)?

如何講清楚Flex彈性盒模型(中)?

來源:千鋒教育
發布人:qyf
時間: 2022-10-10 15:42:45 1665387765

  上一篇我們講解了, flex容器的屬性, 如何定義主軸方向, 以及主軸\側軸對齊方式

  這篇講解子元素的一些屬性.

  如何對子項目進行排序?

  彈性盒模型第一次可以讓我們方便的對元素進行排序

  使用 order屬性, 它的默認值是0

圖片14

  元素按照order順序排列

  如何定義子項目大小?

  flex布局提供另外一個屬性 flex-basis

  它用來設定元素在主軸方向的大小

  注意主軸可以是row方向, 也可以column方向

QQ截圖20221010153810

  另外, 某個子元素, 可以單獨設置跟其它子元素不一致的(側軸)對齊方式.

QQ截圖20221010153822

  最后, 要隆重的介紹flex-grow這個屬性了

圖片15

  它叫做『剩余空間瓜分比例』

  從圖上可以看出, AB沒有撐滿flex容器, 如果希望AB調整大小撐滿容器的話

  我們需要加上flex-grow這個屬性

  .container {

  display: flex;

  width: 500px;

  ....

  }

  div:nth-child(1) {

  width: 100px;

  background-color: pink;

  flex-grow: 1;

  }

  div:nth-child(2) {

  width: 100px;

  background-color: lightseagreen;

  flex-grow: 1;

  }

  那么AB元素會按照1:1的比例把父元素剩余的空間瓜分掉, 效果如圖

圖片16

  當然, 如果你希望B保持不變, 只有A變大的話, 你可以這樣寫

  div:nth-child(1) {

  background-color: pink;

  flex-grow: 1;

  }

  div:nth-child(2) {

  background-color: lightseagreen;

  flex-grow: 0; /*默認值就是0, 其實不用寫*/

  }

圖片17

  我們也可以調整比例

  div:nth-child(1) {

  width:100px;

  background-color: pink;

  flex-grow: 2;

  }

  div:nth-child(2) {

  width:100px;

  background-color: lightseagreen;

  flex-grow: 1;

  }

圖片18

  AB按照2:1的比例瓜分了剩余空間

  既然可以放大, 元素也能縮小

  接下來介紹flex-shrink屬性, 它叫做多余空間削減比例

  當元素大小超出了flex父容器, 子元素可以按比例縮減.

  但是這里的算法比剛才的flex-grow復雜了一些

  我們先看一種簡單的情況

  .container{

  display: flex;

  flex-direction: row;

  justify-content: flex-start;

  box-shadow: 0 0 0 1px black;

  height: 100px; width: 400px; /*父元素寬度為400*/

  }

  div:nth-child(1) {

  width: 300px; /*子元素A寬度為300*/

  background-color: pink;

  flex-shrink: 1; /*多余空間削減比例為1, 默認值為1, 可以不寫*/

  }

  div:nth-child(2) {

  width: 200px; /*子元素B寬度為200*/

  background-color: lightseagreen;

  flex-shrink: 1; /*多余空間削減比例為1, 默認值為1, 可以不寫*/

  }

  削減比例我們設置了1:1 , 那么實際結果呢?

圖片19

  從圖中的實際效果來看,

  A元素削減了60個像素

  B元素削減了40個像素

  這并不是1:1啊, 這是3:2啊

  這個3:2又是怎么來的呢?

  其實, 它就是AB元素的原始比例大小

  所以, 在削減比例上, 元素還會受到原始大小比例的影響

  總結一個公式如下:

  子元素的削減比例===原始大小比例 X flex-shrink比例

  那么, 根據我們所得的公式, 如果我們想讓上面的例子當中

  AB元素都削減一樣的大小該如何做呢?

  答案就是:

  div:nth-child(1) {

  width: 300px;

  background-color: pink;

  flex-shrink: 2;

  }

  div:nth-child(2) {

  width: 200px;

  background-color: lightseagreen;

  flex-shrink: 3;

  }

  最終效果:

圖片13

  讓我們來總結一下

  項目的屬性(添加在子元素身上的屬性)

  · Order屬性

  order屬性定義項目的排列順序。數值越小,排列越靠前,默認為0。

  .item {

  order:;

  }

  · flex-basis屬性

  flex-basis屬性定義了在分配多余空間之前,項目占據的主軸空間(main size)。

  .item {

  flex-basis:| auto; /* default auto */

  }

  · align-self屬性

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

  .item {

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

  }

  · flex-grow屬性

  flex-grow屬性定義項目的放大比例,默認為0,即如果存在剩余空間,也不放大。

  .item {

  flex-grow:; /* default 0 */

  }

  · flex-shrink屬性

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

  .item {

  flex-shrink:; /* default 1 */

  }

tags:
聲明:本站稿件版權均屬千鋒教育所有,未經許可不得擅自轉載。
10年以上業內強師集結,手把手帶你蛻變精英
請您保持通訊暢通,專屬學習老師24小時內將與您1V1溝通
免費領取
今日已有369人領取成功
劉同學 138****2860 剛剛成功領取
王同學 131****2015 剛剛成功領取
張同學 133****4652 剛剛成功領取
李同學 135****8607 剛剛成功領取
楊同學 132****5667 剛剛成功領取
岳同學 134****6652 剛剛成功領取
梁同學 157****2950 剛剛成功領取
劉同學 189****1015 剛剛成功領取
張同學 155****4678 剛剛成功領取
鄒同學 139****2907 剛剛成功領取
董同學 138****2867 剛剛成功領取
周同學 136****3602 剛剛成功領取
相關推薦HOT
主站蜘蛛池模板: 香蕉久久国产精品免| 被猛男cao男男粗大视频| 亚洲冬月枫中文字幕在线看| 俺也去第四色| 美女张开双腿让男生捅| 久久精品中文字幕| 国产女人18毛片水真多18精品| 性爱宝典| 欧美老人巨大xxxx做受视频| 久久精品一区二区三区中文字幕| 久久伊人免费视频| 538在线精品| 2021日产国产麻豆| 日本黄色网战| 成人三级k8经典网| 再来一次好吗动漫免费观看| 亚洲国产免费| 国产成a人片在线观看视频下载| 精品久久久久国产免费| 国产精品亚洲精品日韩已满| 337p中国人体啪啪| 啊灬啊别停灬用力啊岳| 亚洲黄区| 天天射天天干天天| a级毛片免费观看在线播放| 老子午夜伦不卡影院| 两个小姨子在线播放| 日本精品久久久久中文字幕| 精品国产v无码大片在线看| 啊灬啊灬啊灬快好深用力免费| 妖精的尾巴ova| 717影院理伦午夜论八戒| 日本动态120秒免费| 日韩午夜免费视频| 久久精品中文字幕| 成人免费夜片在线观看| 亚洲精品国产精品乱码不卞| 啊…别了在线观看免费下载| 精品国产成a人在线观看| 国产三级久久久精品麻豆三级| 夜来香免费观看视频在线|