在学习弹性盒子模型的时候,有几个属性常常让同学们感觉头痛, 不知到最后得到的效果数值到底是怎样计算得来的,那么不要慌,稳住,我们能赢 !!!
今天就让我们先来看看flex-grow这个属性

flex-grow
定义项目的放大比例,默认值为0,就算存在剩余空间,也不会放大。下面的例子中没有定义该属性,是不会拥有分配剩余空间的权利的。

<div class="box">

 <span class="item">1</span>
<span class="item">2</span>
<span class="item">3</span>

</div>
.box{

 width:400px;
border:1px solid deepskyblue; /*声明一个弹性盒子模型*/
display: flex;

}
.item{

 width:100px;
height:100px;
background: cyan;
border:1px solid deepskyblue; /*放大比例*/
flex-grow: 0; /*默认0 不放大*/

}

当项目1,2,3的flex-grow比例改变为:

.item:nth-child(1){

flex-grow: 0;

}
.item:nth-child(2){

flex-grow: 1;

}
.item:nth-child(3){

flex-grow: 2;

}

效果为:


计算过程如下(在此我们忽略变宽的大小,以便于计算):

整个box的宽度400px减去项目1+2+3原始宽度100px之和,得出答案400-(100+100+100)=100像素,

例子中项目1不放大,项目2,3的放大比例分别为1,2,那么剩余空间分为3分,项目2à1份,项目3à2分,比例就为1:2,分配出来的值就为项目1:100/3*1=33.33px,

项目2: 100/3*2=66.66px,那么这个时候剩余空间就被计算出来了,相加后的结构就为项目1:133.33px002E项目2:166.66px

项目1的计算公式: 100 + (100 / 3) * 1
项目2的计算公式: 100 + (100 / 3) * 2

 那么flex-grow这个属性在我们使用弹性布局的时候是非常常见的,所以大家要予以重视.
怎么样,现在大家对于flex-grow是如何分配剩余空间的问题是不是就很清晰了呢^-^.

上海尚学堂web前端培训原创,请多多关注,陆续有web前端相关技术文章奉献。

弹性盒子模型属性之flex-grow的更多相关文章

  1. 弹性盒子模型属性之flex-shrink

    上一次,我们已经了解过flex-grow的具体用法后,这周,让我们一起来见一下flex-basis这个属性. flex-shrink 定义项目的缩小比例,默认值为1,注意前提是空间不足的情况下,项目缩 ...

  2. CSS box-flex属性,然后弹性盒子模型简介

    今天做项目的时候发现一个css3的新属性flex 一.什么是flex 它的作用是能够按照设置好的规则来排列容器内的项目,而不必去计算每一个项目的宽度和边距.甚至是在容器的大小发生改变的时候,都可以重新 ...

  3. CSS box-flex属性,然后弹性盒子模型简介(转)

    一.淡淡的开头语 昨天趁着不想工作的时间间隙闲逛24ways,在My CSS Wish List一文中,见到了个新鲜的CSS属性,就是题目中的box-flex,以前没有见过,顿生疑惑,不知是骡子还是马 ...

  4. 弹性盒子模型display:flex

    1.div上下左右居中 <!DOCTYPE html> <html lang="en"> <head> <meta charset=&qu ...

  5. css中的f弹性盒子模型的应用案例

    案例1: <!doctype html> <html> <head> <meta charset="utf-8"> <meta ...

  6. 使用css弹性盒子模型

    提示: 当期内容不充实, 修改后再来看吧 以下称:弹性子元素: 子元素, 弹性容器: 容器 弹性盒子的属性 1. css弹性盒子模型规定了弹性元素如何在弹性容器内展示 2. 弹性元素默认显示在弹性容器 ...

  7. CSS3中的弹性盒子模型

    介绍 在css2当中,存在标准模式下的盒子模型和IE下的怪异盒子模型.这两种方案表示的是一种盒子模型的渲染模式.而在css3当中,新增加了弹性盒子模型,弹性盒子模型是一种新增加的强大的.灵活的布局方案 ...

  8. css3弹性盒子模型

    当下各种手机,平板尺寸不一,如果盒模型只能固定尺寸,不能随意压缩,将不能很好的迎合这个时代.所以css3推出了新的盒模型——弹性盒子模型(Flexible Box Model). 弹性盒模型可以水平布 ...

  9. flexbox弹性盒子模型

    这几天在做移动端的web开发,遇到了一些问题,之前没有折腾过这方面的东西,这次好好吸收下 css3的flexbox--弹性盒子模型,这个盒模型决定了一个盒子在其他盒子中的分布方式及如何处理可用的空间. ...

随机推荐

  1. 4-16 css

    1.背景是图片 <style> body {background-image:url('bgdesert.jpg');} </style> 2. 十六进制 - 如:" ...

  2. Solidity知识点集 — 溢出和下溢

    合约安全增强: 溢出和下溢 什么是 溢出 (overflow)? 假设我们有一个 uint8, 只能存储8 bit数据.这意味着我们能存储的最大数字就是二进制 11111111 (或者说十进制的 2^ ...

  3. linux下搭建Jenkins环境

    前提:Tomcat.jdk已安装并配置成功,具体安装和配置可参考我的其他随笔,在此不再详述 1.官网下载Jenkins最新war包,jenkins.war 2.进入Tomcat安装目录,创建Jenki ...

  4. 【aardio】如何让edit控件只能输入数字、小数点及 - 号

    import win.ui; /*DSG{{*/ var winform = win.form(parent=...; text="aardio Form";right=349;b ...

  5. Vue实现跑马灯的效果

    <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title> ...

  6. Python中的 __name__有什么作用?最详细解读

    案例说明: Python中的模块(.py文件)在创建之初会自动加载一些内建变量,__name__就是其中之一.Python模块中通常会定义很多变量和函数,这些变量和函数相当于模块中的一个功能,模块被导 ...

  7. python3 第二十五章 - comprehensions(推导式)

    推导式(又称解析式),是Python的一种独有特性.推导式是可以从一个数据序列构建另一个新的数据序列的结构体. 共有三种推导,在Python2和3中都有支持: 列表(list)推导式 字典(dict) ...

  8. postgresql 日期生成流水号

    --表结构 DROP TABLE if exists public.sys_tabid; CREATE TABLE public.sys_tabid ( id serial NOT NULL , ty ...

  9. 不能ping通主机名

    https://www.linuxidc.com/Linux/2017-03/142253.htm sudo apt-get install winbind , sudo apt-get instal ...

  10. Postfix邮件服务器

    http://www.postfix.org/INSTALL.html https://www.cnblogs.com/alex-note/p/6840160.html http://linux.vb ...