flex是一个复合属性,所以有三个值设置,这也就造成了flex可以只设置一个值或两个值:

如果flex只设置一个值:

  • 没有单位的数,则这个值是flex-grow, 并且flex-basis变为0
  • 有单位的数,比如px或em,则这个值是flex-basis
  • 关键字,auto或者none或者content,则三个值都有各自相应变化

如果flex只设置两个值,则第一个值必须是没有单位的数,并且会被解释为flex-grow,对于第二个值:

  • 没有单位的数,则这个值是flex-shrink, 并且flex-basis变为0
  • 有单位的数,比如px或em,则这个值是flex-basis

根据上面的规则就很容易知道下面的四种快捷取值:

/* flex: 1 1 0; */
flex: 1;
/* item会被放大或缩小至充满父容器,如果所有的item的flex都被设置为1,
则无视item的原来在主轴上的长度,而统一被设置为相等 */ /* flex: 1 1 auto; */
flex: auto;
/* item会被放大或缩小至充满父容器,如果所有的item的flex都被设置为auto,
则根据item的原来在主轴上的长度,按比例放大,但缩小相同的长度,
这是由于flex-grow和flex-shrink的计算方式不同导致,不在此讨论 */ /*flex: 0 1 0; */
flex: 0;
/* item缩至最小,如果所有的item的flex都被设置为0,则无视item的原来在主轴上的长度,而统一缩至最小*/ /* flex: 0 0 auto; */
flex: none;
/* 不放大不缩小,即使所有的item在主轴上的长度之和会超出父容器也不会缩小 */

最后要注意的一点是flex item元素的float clear vertical-align会失效!!

flex属性设置的更多相关文章

  1. flex属性设置详解

    CSS代码中常见这样的写法:flex:1 这是flex 的缩写: flex-grow.flex-shrink.flex-basis,其取值可以考虑以下情况: 1. flex 的默认值是以上三个属性值的 ...

  2. flex布局设置min-width

    在一个flex布局中,对于一个设置了flex属性设置为1的div容器,再对其设置min-width:0,保证内容不超出外层容器

  3. 伸缩容器-display:flex设置flex属性的理解

    1.flex属性 1.1 flex属性是flex-grow, flex-shrink 和 flex-basis的简写,默认值为0 1 auto. flex-grow: 定义项目的放大比例,默认为0,即 ...

  4. flex布局设置width无效

    子元素设置 : flex: 0 0 85px; 参数: flex属性是flex-grow, flex-shrink 和 flex-basis的简写,默认值为0 1 auto.后两个属性可选. 该属性有 ...

  5. flex属性

    一.flex属性的归纳 flex-direction flex-wrap flex-flow justify-content align-items align-content 1.1 flex-di ...

  6. CSS布局学习(二) - flex属性

    flex属性 定义 flex布局包括最外层的容器和内部的元素,flex属性是内部元素属性.flex属性是flex-grow, flex-shrink, flex-basis三个属性的简写 flex-g ...

  7. css属性之flex属性

    flex属性 规定了弹性元素如何伸长或缩短以适应flex容器中的可用空间.是一个简写属性,可以同时设置flex-grow, flex-shrink, flex-basis三个子属性. /* Basic ...

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

    最近在研究css3的flex.遇到的flex:1;这一块,很是很纠结,flex-grow.flex-shrink.flex-basis始终搞不清,最经搜集了大量的介绍,应该能算是明白了.网上大部分解释 ...

  9. 详解 Flexible Box 中的 flex 属性

    导读: 弹性盒子是 CSS3 的一种布局模式,一种当页面需要适应不同的屏幕大小以及设备类型时确保元素拥有适当的行为的布局方式.其中 flex 属性用于指定弹性子元素如何分配空间. flex 属性的值 ...

随机推荐

  1. Python - zipfile 乱码问题解决

    最近使用zipfile进行解包过程中遇到了很不舒服的问题,解包之后文件名是乱码的.下面进行简单总结: 首先,乱码肯定是因为解码方式不一样了,zipfile使用的是utf-8和cp437这两种编码方式, ...

  2. python列表之添加、修改和删除元素

    修改列表中的元素: subject= ['math', 'Chinese', 'English'] subject[0] = 'history' # 列表名[要修改元素的下标]=修改后的元素 prin ...

  3. redis 入门之有序集合

    zadd 将一个或多个 member 元素及其 score 值加入到有序集 key 当中.如果某个 member 已经是有序集的成员,那么更新这个 member 的 score 值,并通过重新插入这个 ...

  4. elementUI table宽度自适应fit

    :fit='true' 或者直接为 fit

  5. js非布尔值的与(&&)与或(||)运算

    /** * 非布尔值的与(&&)与或(||)运算 * 1.先将其转换成布尔值再做运算,并且返回原值 * 2.与(&&)运算: * a.如果第一个值为true,则返回第二 ...

  6. elasticsearch 嵌套对象之嵌套类型

    nested类型是一种特殊的对象object数据类型(specialised version of the object datatype ),允许对象数组彼此独立地进行索引和查询. 1. 对象数组如 ...

  7. 【知识强化】第四章 网络层 4.7 IP组播

    这节课我们来学习一下IP组播. 首先我们来看这样一个问题,IP数据报在网络当中传输的时候,有几种传输方式呢?三种,分别是单播.广播和组播(多播).这个组播呢也叫做多播,它们俩是一个意思.那这个组播是由 ...

  8. mysql各种join连接查询

    最近项目用到了几次sql join查询 来满足银行变态的需求:正好晚上自学时,看到了相关视频,所以记录下相关知识,下次再用时,根据如下图片,便可知道 怎么写sql; 注意点: 在join操作中的 on ...

  9. 常看 Shell: 文本文件操作

    文件显示和信息 wc wc 可以用于统计文件的行数和单词数. nl nl 在文件的每行内容前面加上行号. 基于行的操作 grep grep 用于筛选匹配特定字符的行. grep "Hello ...

  10. 力扣 ——3Sum python (三数之和)实现

    题目描述: 中文: 给定一个包含 n 个整数的数组 nums,判断 nums 中是否存在三个元素 a,b,c ,使得 a + b + c = 0 ?找出所有满足条件且不重复的三元组. 英文: Give ...