CSS弹性(flexible)盒子
弹性盒子
弹性盒子由弹性容器(Flex container)和弹性子元素(Flex item)组成
弹性容器通过display:flex | inline-flex将其定义为弹性容器
弹性容器内包含了一个或多个弹性子元素
弹性容器外及弹性子元素内是正常渲染的。弹性盒子只定义了弹性子元素如何在弹性容器内布局
弹性子元素通常在弹性盒子内一行显示。默认情况每个容器只有一行
让元素产生一个块级的flex容器盒子。flex容器中的孩子被称为flex items,且用flex布局模型布局
- flex布局是基于flex directions(决定主轴/侧轴方向)
主轴:main axis 纵轴:cross axis
横向边界:main start main end
纵向边界:cross start cross end
主轴方向(宽度)不会扩展但是会收缩,而侧轴方向(高度)(未设置时)会进行扩展
- start和end线
弹性盒子中文字的方向不再是由左右决定,而是由start和end线决定。如果flex-direction为row且是英文系统,则主轴的start边在左侧,而end边在右侧。而如果是Arabic系统,这两条线位置是相反的
- 子元素设置position:absolute
该子元素不参与弹性布局,而是根据弹性容器的content-box进行布局

属性
| 说明 | 应用于 | 默认值 | 说明 |
| flex-direction | 弹性容器(控制子元素布局方向和间距) | row | 决定了主轴位置及其方向,row表示水平方向,column表示垂直方向 |
| flex-wrap | no-wrap | 定义弹性元素是旋转在同一行还是分成多行 flex-flow: row nowrap 是flex-direction和flex-wrap的缩写 |
|
| align-content | stretch |
侧轴方向元素行的布局,对于单行无效 默认值stretch:如果行内子元素的大小总和小于容器,那么大小为auto的就会自动扩展(但仍限于max-height/max-width) |
|
| align-items | stretch |
侧轴方向弹性元素的布局,默认stretch,所以侧轴方向会自动扩展充满容器 区别:align-items关注当前弹性容器行内元素的布局;而align-content关注行的布局 |
|
| justify-content | flex-start | 定义主轴方向上的元素间的间距布局 | |
| align-self | 弹性子元素(调整大小和顺序) | auto | 在当前弹性行中重写元素的align-items值 |
| flex-basis | auto | 定义一个弹性元素(根据box-sizing的值,默认是content-box)盒子的主轴空间大小 | |
| flex-grow | 0(比例值) |
定义一个弹性元素扩展的比例,相对于弹性盒子中剩余空间的大小(最终大小=扩展+原来设置的)。它决定了子元素在弹性盒子中应该占据的大小 不同的item有不同的比例,需要根据比例间关系进行划分。如4:2=2:1,所以这两个设置是相同的 |
|
| flex-shrink | 1(比例值) |
当弹性元素总大小大于弹性盒子,则元素会根据flex-shrink相对于正常布局时超过的部分大小收缩以充满容器 flex: 0 1 auto是flex-grow, flex-shrink, flex-basis的合并 |
|
| order | 0 | 根据order的值升序定义元素出现的顺序。如果order值一样,则根据源码中出现的顺序 |
参考:
https://drafts.csswg.org/css-flexbox-1/#flex-container
https://developer.mozilla.org/en-US/docs/Web/CSS/CSS_Flexible_Box_Layout/Basic_Concepts_of_Flexbox
http://www.ruanyifeng.com/blog/2015/07/flex-grammar.html
CSS弹性(flexible)盒子的更多相关文章
- CSS 弹性盒子模型
CSS 弹性盒子模型 https://www.w3.org/TR/2016/CR-css-flexbox-1-20160526/ CSS Flexible Box Layout Module Leve ...
- 使用css弹性盒子模型
提示: 当期内容不充实, 修改后再来看吧 以下称:弹性子元素: 子元素, 弹性容器: 容器 弹性盒子的属性 1. css弹性盒子模型规定了弹性元素如何在弹性容器内展示 2. 弹性元素默认显示在弹性容器 ...
- css中的盒子模型
css中的盒子模型 css中的盒子模型,有两种,一种是“标准 W3C 盒子模型”,另外一种是IE盒子模型. 1.w3c盒子模型 从图中可以看出:w3c盒子模型的范围包括了:margin,borde ...
- css 弹性盒兼容性写法,直接复制粘贴
看这个定义弹性布局盒子display:-webkit-box; display: -moz-box; display: -ms-flexbox; display: -webkit-flex; disp ...
- CSS弹性盒布局(display:flex)
CSS弹性布局(display:flex) 参考: http://www.runoob.com/w3cnote/flex-grammar.html https://www.jianshu.com/p/ ...
- 【CSS学习】--- 盒子模型
一.前言:这篇只作为本人的笔记,以后慢慢再补充. 页面中的所有元素都可以被看作一个一个的“盒子”.这些盒子都包含了:内容(content).内边距(padding).边框(border)以及外边距(m ...
- CSS学习之盒子模型
1. 前言 盒子模型,英文即box model.无论是div.span.还是a都是盒子. 但是,图片.表单元素一律看作是文本,它们并不是盒子.这个很好理解,比如说,一张图片里并不能放东西,它自己就是自 ...
- CSS学习系列1 - CSS中的盒子模型 box model
css中有一个盒子模型的概念. 主要是用来告诉浏览器如何来计算页面元素的宽度和高度, 比如该元素的宽度/高度 是否包括内边距,边框,外边距. 盒子模型有一个属性box-sizing属性来说明是否包括 ...
- jQuery---jq操作标签文本(html(),text()),jq操作文档标签(插入,删除,修改),克隆,,jq操作属性,jq操作class属性,jq操作表单value,jq操作css,jq操作盒子(重要),jq操作滚动条
jQuery---jq操作标签文本(html(),text()),jq操作文档标签(插入,删除,修改),克隆,,jq操作属性,jq操作class属性,jq操作表单value,jq操作css,jq操作盒 ...
- HTML+CSS实现大盒子在小盒子的展示范围内进行滚动展示
HTML+CSS实现大盒子在小盒子的展示范围内进行滚动展示 1.效果展示: 2.主要代码:样式: overflow:auto; 3.如果想要消除对应的滚动条: .out::-webkit-scroll ...
随机推荐
- set用法
set的用法一直拖着,今天才算真正会了,小小总结一下(我好菜啊啊啊) #include<bits/stdc++.h> using namespace std; ]; int main(){ ...
- Filter 起航 编程式配置 压缩响应 日志过滤器
[编程式配置]可以用web.xml配置替换 @WebListenerpublic class FilterListenerConfigurator implements ServletContextL ...
- mybatis的两个核心对象SqlSessionFactory和SqlSession对象
mybatis的两个核心对象SqlSessionFactory和SqlSession对象 参见:https://www.cnblogs.com/wxdestiny/p/9743686.html
- Linux之备份(tar)/解压与压缩(gzip,bzip2,xz)【待完善】
[本博文,待完善] 以data原始文件为例,同tar备份,用xz压缩,实现备份->压缩整个过程的正向过程(生成.tar.xz)与其逆过程(先解压,后还原备份文件) 1.备份(tar) tar - ...
- sublime text 3 3103 注册码
—– BEGIN LICENSE —– Ryan Clark Single User License EA7E-812479 2158A7DE B690A7A3 8EC04710 006A5EEB 3 ...
- Linux故障:linux中使用ifconfig命令查看网卡信息时显示为eth1,但是在network-scripts中只有ifcfg-eth0的配置文件,并且里面的NAME="eth0"。
linux中使用ifconfig命令查看网卡信息时显示为eth1,但是在network-scripts中只有ifcfg-eth0的配置文件,并且里面的NAME="eth0". ...
- 🍓 react16.2新特性 🍓
react16.2新特性:组件中可以一次性return 多个子元素(子组件)了,也就是说,想return多个子元素,不用在外面包一个父盒子了. 方法一:把要return的元素放在一个空的jsx里面 方 ...
- python 微信跳一跳辅助 复现
本来用的是苹果ios得手机,但是步骤较为复杂,没有吃透,最后妥协用了android的机器搞得. 首先找到大牛的github https://github.com/wangshub/wechat_jum ...
- 原子类型的使用&Unsafe&CAS
在项目中也经常可以见到原子类型(AtomicXXX)的使用,而且AtomicXXX常用来代替基本类型或者基本类型的包装类型,因为其可以在不加同步锁的情况下保证线程安全(只对于原子操作). 下面以Ato ...
- 【转】Python之mmap内存映射模块(大文本处理)说明
[转]Python之mmap内存映射模块(大文本处理)说明 背景: 通常在UNIX下面处理文本文件的方法是sed.awk等shell命令,对于处理大文件受CPU,IO等因素影响,对服务器也有一定的压力 ...