弹性盒子        

弹性盒子弹性容器(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. luogu 2827 蚯蚓 单调队列/优先队列

    易知可利用优先队列选取最大值: 但是通过分析可知,先取出的蚯蚓分开后仍然要比后分的长,所以可直接利用单调队列找队头即可,分三个单调队列,分别找未切割,切割,切割2三种情况 #include<bi ...

  2. springboot10-springcloud-eureka 服务注册与发现,负载均衡客户端(ribbon,feign)调用

    创建5个项目: 1.服务注册中心 2.服务提供者1 3.服务提供者2(与服务提供者1的代码实现一样,这是是为了模拟负载均衡) 4.ribbon客户端项目 5.feign客户端项目 如图: 一.注册中心 ...

  3. 初入爬虫(java)

    public class CrawlerUtil { public static void main(String [] args) throws IOException { // 创建默认的http ...

  4. Andrew NG 机器学习编程作业2 Octave

    问题描述:用逻辑回归根据学生的考试成绩来判断该学生是否可以入学 这里的训练数据(training instance)是学生的两次考试成绩,以及TA是否能够入学的决定(y=0表示成绩不合格,不予录取:y ...

  5. Vue.component注意事项

    Vue.component前不要加 new,否则报错: Uncaught TypeError: Cannot read property '_base' of undefined

  6. Spark SQL自定义外部数据源

    1 涉及到的API BaseRelation: In a simple way, we can say it represents the collection of tuples with know ...

  7. animation属性

    文章中转站,因为涉及到动画效果,还是看文笔比较好的博主吧~ CSS3(三)Animation 入门详解 css3中变形与动画(三) CSS3 Animation 是由三部分组成. 关键帧(keyfra ...

  8. Linux(Ubuntu)下安装jdk

    一.下载 1)可以去官网下载:http://www.oracle.com/technetwork/java/javase/downloads/ea-jsp-142245.html,比较多,眼花~~· ...

  9. 《一头扎进SpringMvc视频教程》Rest风格的资源URL

    5.@PathVariable和@RequestParam的区别 请求路径上有个id的变量值,可以通过@PathVariable来获取  @RequestMapping(value = "/ ...

  10. 前端 - jquery方式 / iframe +form 方式 上传文件

    环境与上一章一样 jquery 方式上传文件: HTML代码 {#html代码开始#} <input type="file" id="img" > ...