flex-grow 与 flex-shrink

美髯公
• 阅读 1586

flex-grow

flex-grow用于处理flex容器剩余空间。

剩余空间分配计算

剩余空间 = flex容器宽度 - (项目1flex-basis + 项目2flex-basis + ... + 项目nflex-basis)

项目1分配空间 = [项目1flex-grow / (项目1flex-grow + 项目2flex-grow + ... + 项目nflex-grow)] * 剩余空间

示例

  • 原始案例(剩余300px
<div class="row">

  <div class="col"></div>
  <div class="col"></div>

</div>
.row {
  display: flex;
  width: 600px;
  height: 100px;
}

.row > .col:nth-child(1) {
  background: red;
  flex-basis: 100px;
  flex-grow: 0;
}
.row > .col:nth-child(2) {
  background-color: green;
  flex-basis: 200px;
  flex-grow: 0;
}
  • 剩余空间分配
<div class="row">

  <div class="col"></div>
  <div class="col"></div>

</div>
.row {
  display: flex;
  width: 600px;
  height: 100px;
}

.row > .col:nth-child(1) {
  background: red;
  flex-basis: 100px;
  flex-grow: 2;
}
.row > .col:nth-child(2) {
  background-color: green;
  flex-basis: 200px;
  flex-grow: 1;
}
  • 项目1:

    • 原宽度:100px
    • 新宽度:300px
    • 分配空间:200px

flex-grow 与 flex-shrink

  • 项目2:

    • 原宽度:200px
    • 新宽度:300px
    • 压缩宽度:100px

flex-grow 与 flex-shrink

flex-shrink

flex-shrink用于处理flex容器溢出空间。

溢出空间分配计算

溢出空间 = (项目1flex-basis + 项目2flex-basis + ... + 项目nflex-basis) - flex容器宽度

加权值 = (项目1flex-basis 项目1flex-shrink) + (项目2flex-basis 项目2flex-shrink) + (...) + (项目nflex-basis * 项目nflex-shrink)

项目1压缩宽度 = (项目1flex-basis 项目1flex-shrink / 加权值) 溢出空间

示例

  • 原始项目(溢出300px
<div class="row">

  <div class="col"></div>
  <div class="col"></div>

</div>
.row {
  display: flex;
  width: 300px;
  height: 100px;
}

.row > .col:nth-child(1) {
  background: red;
  flex-basis: 200px;
  flex-shrink: 0;
}
.row > .col:nth-child(2) {
  background-color: green;
  flex-basis: 400px;
  flex-shrink: 0;
}
  • 溢出处理
<div class="row">

  <div class="col"></div>
  <div class="col"></div>

</div>
.row {
  display: flex;
  width: 300px;
  height: 100px;
}

.row > .col:nth-child(1) {
  background: red;
  flex-basis: 200px;
  flex-shrink: 1;
}
.row > .col:nth-child(2) {
  background-color: green;
  flex-basis: 400px;
  flex-shrink: 2;
}
  • 项目1:

    • 原宽度:200px
    • 新宽度:140px
    • 压缩宽度:60px

flex-grow 与 flex-shrink

  • 项目2:

    • 原宽度:400px
    • 新宽度:160px
    • 压缩宽度:240px

flex-grow 与 flex-shrink

参考资源

css3 flex属性flex-grow、flex-shrink、flex-basis学习笔记

点赞
收藏
评论区
推荐文章
blmius blmius
4年前
MySQL:[Err] 1292 - Incorrect datetime value: ‘0000-00-00 00:00:00‘ for column ‘CREATE_TIME‘ at row 1
文章目录问题用navicat导入数据时,报错:原因这是因为当前的MySQL不支持datetime为0的情况。解决修改sql\mode:sql\mode:SQLMode定义了MySQL应支持的SQL语法、数据校验等,这样可以更容易地在不同的环境中使用MySQL。全局s
Wesley13 Wesley13
3年前
MySQL部分从库上面因为大量的临时表tmp_table造成慢查询
背景描述Time:20190124T00:08:14.70572408:00User@Host:@Id:Schema:sentrymetaLast_errno:0Killed:0Query_time:0.315758Lock_
美凌格栋栋酱 美凌格栋栋酱
7个月前
Oracle 分组与拼接字符串同时使用
SELECTT.,ROWNUMIDFROM(SELECTT.EMPLID,T.NAME,T.BU,T.REALDEPART,T.FORMATDATE,SUM(T.S0)S0,MAX(UPDATETIME)CREATETIME,LISTAGG(TOCHAR(
Easter79 Easter79
3年前
swap空间的增减方法
(1)增大swap空间去激活swap交换区:swapoff v /dev/vg00/lvswap扩展交换lv:lvextend L 10G /dev/vg00/lvswap重新生成swap交换区:mkswap /dev/vg00/lvswap激活新生成的交换区:swapon v /dev/vg00/lvswap
Stella981 Stella981
3年前
List的Select 和Select().tolist()
List<PersondelpnewList<Person{newPerson{Id1,Name"小明1",Age11,Sign0},newPerson{Id2,Name"小明2",Age12,
Wesley13 Wesley13
3年前
FLV文件格式
1.        FLV文件对齐方式FLV文件以大端对齐方式存放多字节整型。如存放数字无符号16位的数字300(0x012C),那么在FLV文件中存放的顺序是:|0x01|0x2C|。如果是无符号32位数字300(0x0000012C),那么在FLV文件中的存放顺序是:|0x00|0x00|0x00|0x01|0x2C。2.  
Stella981 Stella981
3年前
Linux自动检测网站心跳通知shell脚本
!/bin/bashLIST("http://xxxx.com")NAME("评价系统getwindowList接口")for((i0;i<${LIST@};i))doHTTP_CODEcurlo/dev/nullsw"%{http_code}""${LIST
Wesley13 Wesley13
3年前
mysql设置时区
mysql设置时区mysql\_query("SETtime\_zone'8:00'")ordie('时区设置失败,请联系管理员!');中国在东8区所以加8方法二:selectcount(user\_id)asdevice,CONVERT\_TZ(FROM\_UNIXTIME(reg\_time),'08:00','0
Wesley13 Wesley13
3年前
PHP创建多级树型结构
<!lang:php<?php$areaarray(array('id'1,'pid'0,'name''中国'),array('id'5,'pid'0,'name''美国'),array('id'2,'pid'1,'name''吉林'),array('id'4,'pid'2,'n
Stella981 Stella981
3年前
Grid布局和Flex布局
Flex布局(弹性布局)Flex是弹性布局,用来为盒状模型提供最大的灵活性,任何一个容器都可以指定为Flex布局。行内元素也可以使用Flex布局。采用Flex布局的元素,称为Flex容器。flexitem项目是Flex布局的元素,简称项目。容器:水平的主轴(mainaxis)和垂直的交叉轴(crossaxis),单个项目占据的主轴空间叫做m
美髯公
美髯公
Lv1
十步杀一人,千里不留行。——李白
文章
4
粉丝
0
获赞
0