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。

目录
相关文章
|
10月前
|
前端开发 UED 容器
在 CSS 中使用 Flex 布局实现页面自适应时需要注意什么?
【10月更文挑战第22天】在使用 Flex 布局实现页面自适应时,需要对其基本原理和特性有深入的理解,同时结合具体的布局需求和场景,进行细致的调整和优化。通过合理的设置和注意事项的把握,才能实现理想的自适应效果,提升用户体验。还可以根据实际情况进行更深入的探索和实践,以不断提升 Flex 布局的应用能力。
|
前端开发 开发者 容器
彻底学会CSS 弹性布局flex
【4月更文挑战第1天】 彻底学会CSS 弹性布局flex
183 0
|
11月前
|
数据可视化 前端开发 搜索推荐
FLEX组件可视化设计器CSS3代码生成器
FLEX组件可视化设计器CSS3代码生成器
152 4
|
11月前
|
前端开发 开发者 容器
CSS3:flex&box-sizing
本文介绍了CSS中的Flex布局及其相关属性,如`flex-direction`、`flex-wrap`、`justify-content`等,并通过代码示例展示了如何使用这些属性来控制容器内的项目排列方式。同时,还讲解了`align-items`属性用于定义子元素在交叉轴上的对齐方式,以及`box-sizing`属性的不同取值对元素尺寸计算的影响。
|
编解码 前端开发 容器
CSS Flex布局实战案例:构建响应式卡片组件
【7月更文挑战第17天】通过上述步骤,我们成功地使用CSS Flex布局构建了一个响应式的卡片组件。Flexbox不仅简化了布局代码,还让我们能够轻松实现复杂的布局效果,如响应式设计。在实战中,掌握Flexbox将大大提高前端开发的效率和网页布局的质量。希望这个案例能够帮助你更好地理解和应用Flexbox布局。
|
前端开发
css的flex布局中使用margin:auto智能分配剩余空间
css的flex布局中使用margin:auto智能分配剩余空间
104 1
|
编解码 前端开发 C++
CSS【详解】布局 display ( 含 flex 布局,grid 布局,table 布局,float 布局,响应式布局 等)
CSS【详解】布局 display ( 含 flex 布局,grid 布局,table 布局,float 布局,响应式布局 等)
580 0
|
前端开发
CSS 自测题 -- 用 flex 布局绘制骰子(一、二、三【含斜三点】、四、五、六点)
CSS 自测题 -- 用 flex 布局绘制骰子(一、二、三【含斜三点】、四、五、六点)
90 0
|
前端开发
前端 CSS 经典:flex + margin 布局
前端 CSS 经典:flex + margin 布局
129 0
|
前端开发
css flex布局两个元素水平居中垂直居中
css flex布局两个元素水平居中垂直居中
265 1

热门文章

最新文章