CSS - Flex(一)

简介: CSS - Flex(一)

flex 属性值可以包含三个参数:flex-grow,flex-shrink 和 flex-basis。

第二个和第三个参数(flex-shrink 和 flex-basis)可选。

当flex属性值取两个参数的时候。默认指定的是第一个参数和第三个参数值。如下述:

.flex-item {
  /* 此属性值设置 */
  flex: 1 100px;
  /* 等同于 */
  flex-grow: 1;
  flex-basis: 100px;
}

通过这个例子验证下边的属性:

<div class="box">
    <div>One</div>
    <div>Two</div>
    <div>Three</div>
</div>  
.box {
    width: 250px;
    height: 35px;
    border: 1px solid #555;
    font: 14px Arial;
    display: flex;
    flex-direction: row;
}
.box > div {
    flex:auto;
    /* 接下来修改这个属性值测试 */
}
.box > div:nth-child(1) {
    background-color: #D3D3D3;
}
.box > div:nth-child(2) {
    background-color: #EEB4B4;
}
.box > div:nth-child(3) {
    background-color: #ADD8E6;
}


设容器 box 下的每个div项目的 flex 初始值为 auto 。

依次修改下述属性值:

1. flex: none

等同于 flex: 0 0 auto

这时候容器完全不再灵活。即不能放大也不能缩小。

该属性和 flex:initial (下方)很类似,除了它不允许 flex-shrink 属性(不能缩小),即使元素可能会溢出。


image.png


2. flex: 0 auto

等同于 flex: initial.  默认值为flex: 0 1 auto。

此时,当容器剩余一些空闲空间时,该属性使灵活的项目变得不灵活,因为其不能自由拉伸放大。


image.png


3. flex: auto

等同于 flex: 1 1 auto

这个时候,该属性使项目完全灵活,它们能够吸收主轴上额外的空间。既可以自由放大也可以自由缩小。


image.png


4. flex: <positive-number> <意为正数>

等同于 flex: <positive-number>  1  0px

当 flex 取值为一个非负数字,则该数字为 flex-grow 的值,flex-shrink 取 1,flex-basis 取 0%。

这个时候,该属性使弹性项目变得灵活,flex元素在主轴方向上的初始大小flex-basis为零。

项目将根据容器的大小按照自身的比例自由伸缩。

5. flex: <positive-number>  xxpx || xx%

等同于 flex: <positive-number>  1  xxpx || xx%

该属性和上边的CSS案例一致,即 当 flex 取值为一个非负数字和一个长度(px)或百分比(%),

则分别视为 flex-grow 和 flex-basis 的值,flex-shrink 默认取 1。

目录
相关文章
|
3月前
|
前端开发 容器
CSS布局模式之Flex布局&Grid布局(三)
CSS布局模式之Flex布局&Grid布局
|
3月前
|
前端开发 开发者 容器
CSS布局模式之Flex布局&Grid布局(二)
CSS布局模式之Flex布局&Grid布局
|
3月前
|
前端开发 开发者 UED
CSS布局模式之Flex布局&Grid布局(一)
CSS布局模式之Flex布局&Grid布局
|
3月前
|
前端开发 容器
CSS Flex 弹性盒模型
当元素设置了display: flex样式时,表示当前元素开启了flex布局,这个元素成为一个 flex 容器(flex container)。这个元素不会脱离文档流,元素中的内容沿着两个轴的方向进行布局。 开启了flex布局的元素就是一个伸缩容器(flex 容器),伸缩容器中所有的子元素就是伸缩项目。
|
3月前
|
前端开发 测试技术 容器
CSS Flex 布局和 Grid 布局怎么选?
CSS Flex 布局和 Grid 布局怎么选?
|
8月前
CSS3 flex 布局在 wrap 换行模式下,让中间指定元素换行
CSS3 flex 布局在 wrap 换行模式下,让中间指定元素换行
545 0
|
8月前
CSS3【display: flex;】与【align-items: 侧轴对齐方式;】的使用
CSS3【display: flex;】与【align-items: 侧轴对齐方式;】的使用
38 0
|
4月前
|
弹性计算 前端开发 容器
CSS之Flex布局的详细解析
Flex布局 目标:熟练使用 Flex 完成结构化布局 01-标准流 标准流也叫文档流,指的是标签在页面中默认的排布规则,例如:块元素独占一行,行内元素可以一行显示多个。
59 0
|
5月前
|
前端开发 容器
[√]css 之 flex
[√]css 之 flex
17 0
|
7月前
|
前端开发 容器
CSS Flex 布局的 flex-direction 属性讲解
CSS Flex 布局的 flex-direction 属性讲解
86 0