弹性盒子        

弹性盒子弹性容器(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)盒子的更多相关文章

  1. CSS 弹性盒子模型

    CSS 弹性盒子模型 https://www.w3.org/TR/2016/CR-css-flexbox-1-20160526/ CSS Flexible Box Layout Module Leve ...

  2. 使用css弹性盒子模型

    提示: 当期内容不充实, 修改后再来看吧 以下称:弹性子元素: 子元素, 弹性容器: 容器 弹性盒子的属性 1. css弹性盒子模型规定了弹性元素如何在弹性容器内展示 2. 弹性元素默认显示在弹性容器 ...

  3. css中的盒子模型

    css中的盒子模型 css中的盒子模型,有两种,一种是“标准 W3C 盒子模型”,另外一种是IE盒子模型.   1.w3c盒子模型 从图中可以看出:w3c盒子模型的范围包括了:margin,borde ...

  4. css 弹性盒兼容性写法,直接复制粘贴

    看这个定义弹性布局盒子display:-webkit-box; display: -moz-box; display: -ms-flexbox; display: -webkit-flex; disp ...

  5. CSS弹性盒布局(display:flex)

    CSS弹性布局(display:flex) 参考: http://www.runoob.com/w3cnote/flex-grammar.html https://www.jianshu.com/p/ ...

  6. 【CSS学习】--- 盒子模型

    一.前言:这篇只作为本人的笔记,以后慢慢再补充. 页面中的所有元素都可以被看作一个一个的“盒子”.这些盒子都包含了:内容(content).内边距(padding).边框(border)以及外边距(m ...

  7. CSS学习之盒子模型

    1. 前言 盒子模型,英文即box model.无论是div.span.还是a都是盒子. 但是,图片.表单元素一律看作是文本,它们并不是盒子.这个很好理解,比如说,一张图片里并不能放东西,它自己就是自 ...

  8. CSS学习系列1 - CSS中的盒子模型 box model

    css中有一个盒子模型的概念. 主要是用来告诉浏览器如何来计算页面元素的宽度和高度, 比如该元素的宽度/高度 是否包括内边距,边框,外边距.  盒子模型有一个属性box-sizing属性来说明是否包括 ...

  9. 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操作盒 ...

  10. HTML+CSS实现大盒子在小盒子的展示范围内进行滚动展示

    HTML+CSS实现大盒子在小盒子的展示范围内进行滚动展示 1.效果展示: 2.主要代码:样式: overflow:auto; 3.如果想要消除对应的滚动条: .out::-webkit-scroll ...

随机推荐

  1. Ubuntu中拷贝文件的操作

    cp(copy)命令 该命令的功能是将给出的文件或目录拷贝到另一文件或目录中. 语法: cp [选项] 源文件或目录 目标文件或目录 说明:该命令把指定的源文件复制到目标文件或把多个源文件复制到目标目 ...

  2. windows基本命令大全

    1.DOS常用命令详解 dir 列文件名 deltree 删除目录树 cls 清屏 cd 改变当前目录. copy 拷贝文件 diskcopy 复制磁盘 del 删除文件 format 格式化磁盘. ...

  3. java.lang.Enum

    参考博客链接 java枚举类型的优势在哪里? Java 枚举(enum) 详解7种常见的用法

  4. 使用RocketMQ实现分布式事务

    .. todo ref https://blog.csdn.net/zhejingyuan/article/details/79480128

  5. python(十一)面向切面编程AOP和装饰器

    二.装饰器 装饰器可以在给函数修改功能的同时并不改变这个函数本身.(以下用的都是python2.7) 首先,在python里面函数是对象,在下面的函数里"fun"是函数也是对象可以 ...

  6. SQL攻击-预编译--缓存

    PreparedStatement l 它是Statement接口的子接口: l 强大之处: 防SQL攻击: 提高代码的可读性.可维护性: 提高效率! l 学习PreparedStatement的用法 ...

  7. 刷题之路第三题--Longest Substring Without Repeating Characters

    问题简介:求给定字符串中最长的字符不重复的字符串的长度 问题详解: 给定一个字符串,寻找给定字符串中包含的最长的字符不重复的字符串的长度 注:答案必须是子字符串,不是子序列 是连续的字符不重复的字符串 ...

  8. 论文笔记:Batch Normalization

    在神经网络的训练过程中,总会遇到一个很蛋疼的问题:梯度消失/爆炸.关于这个问题的根源,我在上一篇文章的读书笔记里也稍微提了一下.原因之一在于我们的输入数据(网络中任意层的输入)分布在激活函数收敛的区域 ...

  9. 20165325《Java程序设计》第九周学习总结

    一.教材学习笔记 ch13 1.URL类 URL类是java.net包中的一个重要的类,URL的实例封装着一个统一资源定位符,使用URL创建对象的应用程序称作客户端程序. 一个URL对象通常包含最基本 ...

  10. vmware启动虚拟机发现没权限

    前期安装未参与,但了解大致情况: 物理机上安装CentOS7系统,然后安装VMWare,虚拟了几台CentOS6 遇到的问题:物理机重启后,以root进入系统,但打开VMWare显示是普通用户权限,以 ...