flex

  • 版本:CSS3
  • 继承性:无
flex属性在CSS新弹性盒模型中是比较常用的,本文将带你深入理解flex属性的各个方面,包括它的语法、取值、作用和浏览器兼容性,最后附上flex的实例,希望能够对你有所帮助。

flex定义和用法

flex:none | [ flex-grow ] || [ flex-shrink ] || [ flex-basis ]

默认值看各分拆属性

适用于:弹性盒模型子元素

继承性:无

flex属性值

none:
none关键字的计算值为: 0 0 auto
[ flex-grow ]:
定义弹性盒子元素的扩展比率。
[ flex-shrink ]:
定义弹性盒子元素的收缩比率。
[ flex-basis ]:
定义弹性盒子元素的默认基准值。

flex说明

复合属性。设置或检索弹性盒模型对象的子元素如何分配空间。
  • 如果缩写flex:1, 则其计算值为:1 1 0
  • 示例:如下情况每个元素的计算宽是多少

    HTML Code:

    <ul id="flex">
    	<li>a</li>
    	<li>b</li>
    	<li>c</li>
    </ul>

    CSS Code:

    #box{display:-webkit-flex;display:flex;width:800px;margin:0;padding:0;list-style:none;}
    #box3 li:nth-child(1){-webkit-flex:1 1 300px;flex:1 1 300px;background:#999;}
    #box3 li:nth-child(2){-webkit-flex:1 2 500px;flex:1 2 500px;background:#aaa;}
    #box3 li:nth-child(3){-webkit-flex:1 3 600px;flex:1 3 600px;background:#ccc;}

    上例中,定义了父容器宽(即主轴宽)为800px,由于子元素设置了伸缩基准值flex-basis,相加300+500+600=1400,那么子元素将会溢出1400-800=600px;
    由于同时设置了收缩因子,所以加权综合可得300*1+500*2+600*3=3100px;
    于是我们可以计算a,b,c将被移除的溢出量是多少:
    a被移除溢出量:300*1/3100*600=3/31,即约等于58px
    b被移除溢出量:500*2/3100*600=10/31,即约等于194px
    c被移除溢出量:600*3/3100*600=18/31,即约等于348px
    最后a,b,c的实际宽度分别为:300-58=242px, 500-194=306px, 600-348=252px

  • 对应的脚本特性为flex

flex浏览器支持

  • 浅绿 = 支持
  • 红色 = 不支持
  • 墨绿 = 部分支持
支持版本\类型 IE Firefox Safari Chrome Opera
较早版本 6.0-10.0 4.0-19.0 5.1.7-6.0 21.0-28.0-webkit- 9.-12.0
较新版本 11.0 20.0 7.0-webkit- 29.0 12.1

flex实例

以上就是这篇flex CSS新弹性盒模型教程的全部内容,更多文章请进入前端开发博客

CSS3 animation状态结束后可以通过animation-fill-mode 控制动画的最后状态,分别是不改变默认行为、保持最后一个属性和回到第一帧。 - 2018-09-08

除了html5的新特性,CSS3的新特性也是面试中经常被问到的。本文分享了一些CSS3选择器、Transition,Transform和Animation等 - 2017-07-09

vw : 1vw 等于视口宽度的1%,vh : 1vh 等于视口高度的1%。本文介绍纯CSS视口单位vw和vh来自行自适应,虽然现在的兼容性还没法完全能够接受,但不妨碍你认识这个vw和vh的强大。 - 2017-07-26

CSS3 的 calc() 函数允许我们在属性值中执行数学计算操作。例如,我们可以使用 calc() 指定一个元素宽的固定像素值为多个数值的和。本文分析了calc()的计算使用方法及兼容性 - 2017-05-10

本文主要分享了一些与css3相关的文档手册,给需要的朋友参考,CSS3参考手册不断更新,值得期待 - 2017-07-08

一个使用伪元素来实现边框逐渐发光的过渡效果,主要用到scale和opacity这两个属性。 - 2017-03-31

这个 CSS3 类似于幻灯片旋转的效果,是一个比较有意思并且比较受欢迎的特效。之前没有去研究过,无意在博客上看到 Wenzi 写了这个东西,来看看他的代码是怎么实现的。 - 2017-03-21

作者从CSS3动画的基础入手,分别介绍了移动、缩放、旋转、扭曲到矩阵的变形。在最后给我们讲了关于CSS3矩阵的深度问题研究,值得看看。 - 2017-02-12

在使用CSS3的一些属性时,为了兼顾低端浏览器对CSS3的不友好性,往往需要知道某些浏览器是否支持要使用的CSS3属性,以此来做向下适配。比如常见的CSS3动画就很有必要检测浏览器是否支持。下面分享几种方法: - 2016-09-24

任何CSS属性值为percent时,都需要根据某个参考值进行计算,搞明白这个参考值是什么,理解就容易多了。标准规定:background-position:perenct的参考值为: (容器宽度 - 背景图片宽度). - 2016-06-24

CSS3参考手册,全网最新最全的CSS3参考手册,为你呈现最好的CSS3文档CSS3参考手册