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. spring注解开发:bean的作用域与懒加载

    1.bean的作用域 1.新建一个maven工程,添加如下依赖 <dependency> <groupId>org.springframework</groupId> ...

  2. scroll兼容性

    document.html=>document.documentElement function scroll() { if(window.pageYOffset != null) // ie9 ...

  3. CentOS 7.3 环境配置java和tomcat开机启动

    Centos7下添加开机自启动服务和脚本  https://blog.csdn.net/GMingZhou/article/details/78677953 安装部分参考我的博文,仅参考他的开机启动部 ...

  4. for循环(foreach型)举例

  5. Nginx之Keepalived

    目录 Nginx之Keepalived 1. Keepalived 高可用基本概述 1.1 什么是高可用 1.2 高可用通常使用什么软件? 1.3 keepalived是如何实现高可用的? 1.4 那 ...

  6. 波兰语 polish

    There are several systems for encoding the Polish alphabet for computers. All letters of the Polish ...

  7. 转帖 Java生成和操作Excel文件

    JAVA EXCEL API:是一开放源码项目,通过它Java开发人员可以读取Excel文件的内容.创建新的Excel文件.更新已经存在的Excel文件.使用该API非Windows操作系统也可以通过 ...

  8. react 使用axios

    1.配置axios代理  使得axios  可以不写根路径 package.json "proxy":"http://localhost:4000", 2.使用 ...

  9. C# 使用猫拨打电话

    主窗口一个textbox与btnstart按钮 代码是使用别人!只是去掉部分不用的!只用于拨号!用于辅助打电话! form1 using System; using System.Collection ...

  10. 虚拟机(JVM)如何加载类

    首先JVM加载类的一般流程分三步: 加载 链接 初始化 那么是否全部Java类都是这样三步走的方式加载呢?我们可以从Java的数据类型去出发.Java分基本类型和引用类型.其中按照面向对象的特性,一切 ...