Flex详解(图文+在线示例)下

作者: 枸杞辣条 | 来源:发表于2017-04-15 18:02 被阅读206次

该文是本人的译文,如想看原文请点击传送门

如需转载请注明来源与作者
讲解分为两部分,一部分讲解的是container的属性,另一部分讲解children属性。
本文讲解children的属性。讲解的另外一篇传送门

本文讲的是在flex items上的属性

container children

order

order

在默认情况下,flex items排布顺序是按照资源的顺序。但是,order属性可以控制在flex container下的子元素的顺序。

.item{
    oreder: <整数>  ;
}

示例点击


flex-grow

flex-grow

这个属性定义了弹性元素扩展的能力。它能够接受无单位的值来用作占比。它规定了弹性容器下的弹性元素可以占据多少的可用空间。
如果所有的items都有flex-grow等于1,容器内的剩余空间会等分地分配到每一个元素。如果其中某一个元素有是2的值,那么这个元素会占据的剩余空间相当于其他元素的2倍。

.item{
    flex-grow: <number>;/*默认值为0,并且其中负值是非法的。*/
}

示例点击


flex-shrink

这个属性定义了弹性元素会在必要的时候会收缩。

.item {
  flex-shrink: <number>; /* 默认值为1 ,并且负值是非法的*/
}

flex-basis

这个属性定义在剩余空间被分配之前默认情况下元素的大小。这个值可以是长度(比如:20%,5rem等等)或者是一个关键词。auto 关键词意味着"着眼于我的宽度或者高度"(这会临时用于主尺寸关键字,直到被抛弃)。关键词`content指"内容决定尺寸"-这个关键字还没有得到较好的支持,所以测试比较困难,并且难以得到它的兄弟元素最大内容最小内容和最佳内容。

.item{
    flex-basis:<length>|| auto ; /*默认值:auto*/
}

如果设置为0,包围内容的额外空间不会计算在内。如果设置为auto,那么剩余空间将会按照flex-grow进行分配。

示例点击


flex

这是flex-grow,flex-shrink,flex-basis的简写。第二个和第三个参数是可选的(flex-shrink,flex-basis是可选项)。flex的默认值是0,1,auto;

···
.item{
flex:none | [ <'flex-grow'> <'flex-shrink'>?|| <'flex-basis'> ]
}
···

推荐你使用简写的属性,而不是去设置单一的属性。简写设置其他值是非法的。


align-self

align-self

这个属性允许默认的对齐方被覆盖(或者通过align-self指定一个元素)

.item{
    align-self: auto | flex-start | flex-end | center | baseline | stretch;
} 

实例点击

NOTE: float,clear,vertical-align对弹性元素不起作用

相关文章

网友评论

    本文标题:Flex详解(图文+在线示例)下

    本文链接:https://www.haomeiwen.com/subject/wpanattx.html