Flex 布局知识点梳理
传统的布局方案,在针对特殊布局时会很不方便,比如垂直居中,把一个容器等分为N列等等。自从 Flex 出现以后,这些都迎刃而解了,本文对Flex相关内容做一个简单梳理。
什么是 Flex
Flex 是 Flexible Box 的缩写,意为”弹性布局”,任何一个容器都可以指定为Flex布局。设为 Flex 布局以后,子元素的 float、clear和vertical-align属性将失效。要设置一个元素采用 flex 布局,只需设置器 display 属性取值为 flex 即可。
.flex-box{
display:flex; /* or inline-flex*/
}
常用术语
采用 Flex 布局的元素,称为Flex容器。其子元素为flex item,本文称其为”项目”。容器默认存在两根轴:水平的主轴(main axis)和垂直的交叉轴(cross axis)。
- flex container : Flex容器,简称 容器
- flex item : Flex容器的子元素,可称其为 flex 项目,简称 项目
- main axis : 主轴, 水平轴,起始位置称为
main start,结束位置称为main end - cross axis: 交叉轴, 垂直轴,开始位置叫做
cross start,结束位置叫做cross end
项目默认沿 main axis 排列,单个项目占据的主轴空间叫做main size,占据的交叉轴空间叫做cross size。
容器的属性
- flex-direction :flex-direction属性决定主轴的方向(即项目的排列方向)。
- row(默认值):主轴为水平方向,起点在左端。
- row-reverse:主轴为水平方向,起点在右端。
- column:主轴为垂直方向,起点在上沿。
- column-reverse:主轴为垂直方向,起点在下沿。
- flex-wrap: 默认情况下,项目都排在一条线(又称”轴线”)上。flex-wrap属性定义,如果一条轴线排不下,如何换行。
- nowrap(默认):不换行。
- wrap:换行,第一行在上方。
- wrap-reverse:换行,第一行在下方。
- flex-flow : flex-flow属性是flex-direction属性和flex-wrap属性的简写形式,默认值为row nowrap。
.box {
flex-flow: <flex-direction> || <flex-wrap>;
}
- justify-content: justify-content属性定义了项目在主轴上的对齐方式。
- align-items: align-items属性定义项目在交叉轴上如何对齐。
- align-content: align-content属性定义了多根轴线的对齐方式。如果项目只有一根轴线,该属性不起作用。
项目的属性
- order 定义项目的排列顺序,数值越小越靠前
- flex-grow 定义项目的放大比例
- flex-shrink 定义项目的缩小比例
- flex-basis 定义在分配多余空间之前,项目占据的主轴空间
- flex 是 grow shrink basis 的简写。取值
none | [ <'flex-grow'> <'flex-shrink'>? || <'flex-basis'> ] - align-self 定义当前项目的对其方式。取值
auto | flex-start | flex-end | center | baseline | stretch
写在后面
本文地址:https://www.cnblogs.com/kelsen/p/8647896.html
如果您有任何建议或疑问请在下面留言交流。
Flex 布局知识点梳理的更多相关文章
- flex布局知识点
flexBox 布局最合适小规模布局,而网格布局适合较大规模布局. float,clear,vertical-align 在flex中不起作用. flex布局中,有两类作用于父节点也子节点的样式,大 ...
- flex布局知识点(阮一峰博客)
任何一个容器都可以指定为flex布局: 行内元素也可以使用flex布局: 设为flex布局以后,子元素的float,clear,vertical-align属性都将失效: flex容器的属性: fle ...
- 弹性盒子布局(display:flex)知识点
设为 Flex 布局以后,子元素的float.clear和vertical-align属性将失效.
- JavaScipt30(第五个案例)(主要知识点:flex布局)
承接上文,这是第5个案例:这节没什么讲的,随便记录下吧,主要是用了flex布局与transform translateY,js部分和案例1类似. 附上项目链接: https://github.com/ ...
- 前端知识点回顾之重点篇——CSS中flex布局
flex布局 来源: http://www.ruanyifeng.com/blog/2015/07/flex-grammar.html?utm_source=tuicool 采用 Flex 布局的元素 ...
- 30分钟彻底弄懂flex布局
欢迎大家前往腾讯云+社区,获取更多腾讯海量技术实践干货哦~ 本文由elson发表于云+社区专栏 目前在不考虑IE以及低端安卓机(4.3-)的兼容下,已经可以放心使用flex进行布局了.什么是flex布 ...
- CSS3弹性伸缩布局(二)——flex布局
上一篇博客<CSS3弹性伸缩布局(一)——box布局>介绍了旧版本的box布局,而这篇博客将主要介绍最新版本的flex布局的基础知识. 新版本简介 新版本的Flexbox模型是2012年9 ...
- css3 flex 布局
今天做一个小实战,需要让一个登录框始终保持水平和垂直居中,第一个想到的就是通过定位(要想让一个div居中,采用定位可以解决,示例), 然后开始接触flex布局,学完感觉真的好用,现把知识点记录一下,以 ...
- 弄懂flex布局
目前在不考虑IE以及低端安卓机(4.3-)的兼容下,已经可以放心使用flex进行布局了.什么是flex布局以及它的好处,这里就不再赘述. 在这篇文章里,想说说flex布局的属性语法及其细节.那么网上也 ...
随机推荐
- redis缓存工具类,提供序列化接口
1.序列化工具类 package com.qicheshetuan.backend.util; import java.io.ByteArrayInputStream; import java.io. ...
- c#里面如何激活一个外部程序进程并显示在最前
using System.Diagnostics; using System.Runtime.InteropServices; [DllImport("user32.dll")] ...
- Tomcat7.0安装配置详细(图文)
说明:Tomcat服务器上一个符合J2EE标准的Web服务器,在tomcat中无法运行EJB程序,如果要运行可以选择能够运行EJB程序的容器WebLogic,WebSphere,Jboss等Tomca ...
- 撩课-Web大前端每天5道面试题-Day27
1.浏览器缓存? 浏览器缓存分为强缓存和协商缓存.当客户端请求某个资源时,获取缓存的流程如下: 先根据这个资源的一些 http header 判断它是否命中强缓存, 如果命中,则直接从本地获取缓存资源 ...
- 生成证书申请csr文件
一.执行命令 openssl req -nodes -newkey rsa:2048 -keyout liexiulive.key -out liexiulive.csr 二.根据提示输入基本信息 G ...
- webhttpbinding、basichttpbinding和wshttpbinding的区别
webhttpbinding是REST风格的绑定,您只需点击一个URL,然后从Web服务中获取大量XML或JSON. basichttpbinding和wshttpbinding是两个基于SOAP的绑 ...
- Linux命令行介绍
一.Linux命令行结尾的提示符有“#”和“$”两种不同的符号,代码如下所示: [root@localhost ~]# ls anaconda-ks.cfg Desktop Documents min ...
- 【 js 性能优化】【源码学习】underscore throttle 与 debounce 节流
在看 underscore.js 源码的时候,接触到了这样两个方法,很有意思: 我先把实现的代码撂在下面,看不懂的可以先跳过,但是跳过可不是永远跳过哦- 一个是 throttle: _.throttl ...
- AsnycLocal与ThreadLocal
AsnycLocal与ThreadLocal AsnyncLocal与ThreadLocal都是存储线程上下文的变量,但是,在实际使用过程中两者又有区别主要的表现在: AsyncLocal变量可以在父 ...
- js-JavaScript实现数字的千位分隔符
function thousandSeparator(num) { return num && (num .toString().indexOf('.') != -1 ? num.to ...