弹性盒模型

  弹性盒子是css3的一种新布局模式,由容器(父元素)和项目(子元素)组成。

弹性盒子是一种当页面需要适应不同的屏幕大小以及设备类型时确保元素拥有恰当的行为的布局方式。

引入弹性盒模型的目的:提供一种更加有效的方式来对一个容器中的子元素进行排列、对齐和分配空白区间。

设置弹性盒子:display:flex或inline-flex; 区别:flex独占一行;inline-flex占据自己应该占据的位置,有点像inline-block,不支持margin:auto。

容器属性

 1.flex-direction  确定主轴和方向

  • row 默认,从左到右
  • row-reverse  从右到左
  • column 从上到下
  • column-reverse 从下到上

2.flex-wrap 规定项目是否换行

  • nowrap 默认,不换行
  • wrap 换行,交叉轴从上到下
  • wrap-reverse 换行,第一行在下,交叉轴从下到上

3.flex-flow 复合属性,flex-direction和flex-wrap组成的复合属性

  • row nowrap 默认,从左到右不换行

4.justify-content 项目在主轴上的对齐方式

  • flex-start 默认,主轴起点对齐
  • flex-end 主轴终点对齐
  • center 主轴居中对齐
  • space-between 主轴上项目两端对齐,项目之间间隙平分空白
  • space-around 主轴上的项目两侧间隔相等

5.align-content 多行项目在交叉抽(与主轴垂直)上的对齐方式,不要和align-items共存

  • stretch 默认,不设置项目高度的时候,占满平分整个交叉轴
  • flex-start 交叉轴起点对齐
  • flex-end 交叉轴终点对齐
  • center 交叉轴居中对齐
  • space-between 交叉轴上项目两端对齐,项目之间间隙平分空白
  • space-around 交叉轴上项目两侧间隔相等

6.align-items 单行项目在交叉轴上的对齐方式

  • stretch 默认,不设置高度(竖直时)或宽度(水平时)占满整个交叉轴
  • flex-start 交叉轴的起点对齐
  • flex-end 交叉轴的终点对齐
  • center 交叉轴的中间对齐
  • baseline 文字基线对齐

项目属性

  1.flex-grow 设置项目的扩大比例

  • 0 默认,不扩大
  • 1 项目扩大填满容器,值为1时占一份,值为2时占两份,不支持负值

2.flex-shrink 设置项目的收缩比例

  • 1 默认,当容器宽度不够时,项目等比例缩小
  • 0 不缩小
  • 2,3...n 值越大缩小得越多

3.flex-basis 设置项目初始长度

  • auto 默认,项目没有设置宽度的时候,默认内容撑开宽度
  • 0 不设置初始值
  • number 规定项目的初始长度

4.flex 复合写法flex:flex-grow flex-shrink flex-basis

  • auto 相当于1 1 auto
  • none 相当于0 0 auto
  • 1 相当于1 1 0
  • initial 相当于0 1 auto

5.align-self 单独控制交叉轴一个项目的对齐方式

  • auto 默认值,继承父容器的align-items
  • 其他属性值与align-items一样

6.order 规定项目在主轴上的排列顺序

  • 0 默认,根据项目先后排列
  • 整数,可为负值,数值越小排名越靠前

以上为个人理解,如有不当之处请指正!

弹性盒模型,flex布局的更多相关文章

  1. css 弹性盒模型Flex 布局

    参考文章:http://www.runoob.com/w3cnote/flex-grammar.html Flex 布局是什么:采用Flex布局的元素,称为Flex容器(flex container) ...

  2. 弹性盒模型 flex box

    弹性盒子模型 布局方案 传统的布局方案大多采用div+css+float+position+display来实现,但是随着css3中弹性盒子模型的推出,在前端布局方案中就又多出了一项彪悍的选项. 而因 ...

  3. CSS3弹性盒模型flexbox布局基础版

    原文链接:http://caibaojian.com/using-flexbox.html 最近看了社区上的一些关于flexbox的很多文章,感觉都没有我这篇文章实在,最重要的兼容性问题好多人都没有提 ...

  4. css3弹性盒模型flex快速入门与上手(align-content与align-items)

    接着上文css3弹性盒模型flex快速入门与上手1继续,上文还剩下两个父容器的属性align-items和align-content. 一.align-content:多行的副轴对齐方式 含义 多行的 ...

  5. CSS弹性盒模型flex在布局中的应用

    × 目录 [1]元素居中 [2]两端对齐 [3]底端对齐[4]输入框按钮[5]等分布局[6]自适应布局[7]悬挂布局[8]全屏布局 前面的话 前面已经详细介绍过flex弹性盒模型的基本语法和兼容写法, ...

  6. 深入理解CSS弹性盒模型flex

    × 目录 [1]版本更迭 [2]display [3]基本概念[4]伸缩容器[5]伸缩项目 前面的话 CSS3引入了一种新的布局模型——flex布局.flex是flexible box的缩写,一般称之 ...

  7. CSS弹性盒模型(flex box)

    本文介绍的是 CSS3 规范中引入的新布局模型:弹性盒模型(flex box).随着响应式用户界面的流行,Web 应用一般都要求适配不同的设备尺寸和浏览器分辨率. 浏览器支持: 弹性盒布局的容器(fl ...

  8. CSS弹性盒模型flex概念

    盒模型分为:标准w3c盒模型.IE盒模型.以及css中的伸缩盒模型. 先说CSS的伸缩盒模型:flex模型是CSS3引入的新的布局模型,是flexible box的缩写,一般称之为弹性盒模型.和CSS ...

  9. CSS3弹性盒模型flexbox布局

    属性介绍 display: flex | inline-flex; (适用于父类容器元素上) 定义一个flex容器,内联或者根据指定的值,来作用于下面的子类容器.· box:将对象作为弹性伸缩盒显示. ...

  10. css3之弹性盒模型(Flex Box)

    CSS3 弹性盒子(Flex Box) 弹性盒子是 CSS3 的一种新的布局模式. CSS3 弹性盒( Flexible Box 或 flexbox),是一种当页面需要适应不同的屏幕大小以及设备类型时 ...

随机推荐

  1. Android JNI 学习(三):JNI 数据类型和数据结构

    本文我们来讨论一下JNI如何将Java类型映射到本机C类型. 一.基本数据类型 如下图表整理了Java基本类型和native对应的关系: Java类型 Native类型 描述 boolean jboo ...

  2. Java 多线程之自旋锁

    一.什么是自旋锁? 自旋锁(spinlock):是指当一个线程在获取锁的时候,如果锁已经被其它线程获取,那么该线程将循环等待,然后不断的判断锁是否能够被成功获取,直到获取到锁才会退出循环. 获取锁的线 ...

  3. C++ Opencv HoughLines()用霍夫变换在二元图像中寻线

    一.霍夫变换简介 参考http://homepages.inf.ed.ac.uk/rbf/HIPR2/hough.htm 二.HoughLines()函数详解 该函数接受的输入矩阵只能是8位单通道的二 ...

  4. SpringMVC核心接口

    简单配置SpringMVC SpringMVC的实现原理是通过Servlet拦截所有URL达到控制目的,所以web.xml的配置是必须的 ContextLoaderListener ContextLo ...

  5. FAIR开源Detectron:整合全部顶尖目标检测算法

    昨天,Facebook AI 研究院(FAIR)开源了 Detectron,业内最佳水平的目标检测平台. 昨天,Facebook AI 研究院(FAIR)开源了 Detectron,业内最佳水平的目标 ...

  6. js自定义水印

    前言:今天在github上看到了一个定义水印的项目,因为获取的星星还蛮多,就多看了几眼,发现该项目简单有趣,心想以后可能会用的到,并且我下载到本地并亲自测试运行了一波.其实该项目最吸引我的是它定义js ...

  7. Docker简介以及操作

    Docker 简介 Docker 是一个开源项目,诞生于 2013 年初,最初是 dotCloud 公司内部的一个业余项目.它基于 Google 公司推出的 Go 语言实现. 项目后来加入了 Linu ...

  8. 3,linux入门到上手-文件权限管理与配置

    linux入门-文件权限管理与配置 一.关于linux的操作命令一般格式如下: 1,一行指令中第一个输入的部分绝对是"指令(command)"或"可可执行文件案(例如批次 ...

  9. multiprocessing- 基于进程的并行性

    介绍 multiprocessing是一个使用类似于threading模块的API支持生成进程的包.该multiprocessing软件包提供本地和远程并发,通过使用子进程而不是线程有效地支持 全局解 ...

  10. 项目实战2.1—nginx 反向代理负载均衡、动静分离和缓存的实现

    总项目流程图,详见 http://www.cnblogs.com/along21/p/8000812.html 实验一:实现反向代理负载均衡且动静分离 1.环境准备: 机器名称 IP配置 服务角色 备 ...