弹性布局 Flexible Box
页面中任何一个元素都可以指定为 弹性布局(Flex)
属性:display
取值:
1、flex 将块级元素变为弹性布局容器
2、inline-flex 将行内元素变为弹性布局容器
兼容性: display:-webkit-flex;
注意:将元素设置为flex后,子元素的 float,clear以及vertical-align属性将失效
子元素有两条轴
Main axsis : 主轴,默认为横向轴
Cross axsis : 交叉轴,默认为纵向轴
容器(父元素)可以设置容器属性,用于控制子元素的排列方式
1、flex-direction 指定轴的方向
1. row(主轴为横轴,起点在左端,默认值)
2.row-reverse 主轴为横轴,起点在右端
3.column 主轴为交叉轴(纵轴),起点在顶端
4.column-reverse 主轴为交叉轴(纵轴),起点在底
2、flex-wrap 一行内显示不下所有项目时,如何换行
1.nowrap 默认值,不换行,会将项目等比缩放
2.wrap 换行
3.wrap-reverse 换行,第一行在下方(从下往上的意思,如图)

3、flex-flow 是 flex-direction 和 flex-wrap的缩写 (默认值为row nowrap)
4、justify-content 定义了子元素在主轴上的对齐方式
1.flex-start 主轴的起点对齐
2.flex-ecenternd 主轴的终点对齐
3.center 居中对齐
4.space-between 两端对齐,每两个项目之间的间隔相等(个人认为常用属性值)
5.space-around 每个项目两侧的间隔距离是相等的(有坑,别踩,不是字面上的意思,如图)

5、align-items 子元素在交叉轴上是如何排列对齐的(主要针对一行容器)
1.flex-start 交叉轴起点对齐(如图)

2.flex-end 交叉轴终点对齐
3.center 交叉轴中间对齐
4.baseline 基线对齐,第一行文本的基线(下方)
5.stretch 默认值,如果项目未设置高度或高度为auto时,那么将占满整个容器的高度
6、align-content 容器具备多跟轴线时(自动换行时),项目的对齐方式
1.flex-start 项目在交叉轴起点对齐(和上面那个属性差不多,不同的是前一个是适用于只有一行容器,这个是适用于多行)
2.flex-end 项目在交叉轴终点对齐
3.center 项目在交叉轴中间对齐
4.space-between 与交叉轴两端对齐,轴线之间的间隔相等
5.space-around 每个轴线两端的间隔相等,轴线间间隔比轴线与父元素边框间隔大一倍
6.stretch 默认值,在不指定项目高度时,占满整个交叉轴
项目(子元素)属性
1.order 排序,定义项目的排列顺序。值越小,越靠前
2.flex-grow 放大比例,如果当前排列轴有空余空间,项目将如何放大
默认值为 0 ,不做任何放大处理(注意没有负数)
只有一个元素取值为1的元素,在有剩余空间时,将占满剩余的空间

有多个元素取值为1的时候,有剩余空间时,大家平分剩余空间

3.flex-shrink 项目的缩小比例,默认为1,即空间不足时,等比缩小(同上)
4.flex-basis 项目所占据的空间大小
1.auto 默认值,项目本身大小
2.length,指定 宽 或 高(取决于主轴的方向)
5.align-self 单独定义当前元素与其他元素不一样的交叉轴对齐方式,可以覆盖align-items的值。默认为 auto,即继承父元素的align-items
1.auto 自动,继承父元素align-items
2.flex-start 交叉轴起点
3.flex-end 交叉轴终点
4.center 交叉轴中间
5.baseline 基线对齐
6.stretch 在不指定项目高度时,占满整个交叉轴
弹性布局 Flexible Box的更多相关文章
- 探讨弹性布局Flexible Box
虽然Flex布局09年就被W3C所提出,但是目前浏览器支持上还不是很好,网上找的一张图片,仅供参考: 我们先从简单讲起.如果仅仅只想实现一个栅格布局,没必要引入一个复杂的框架(如bootstrap), ...
- CSS:CSS弹性盒子布局 Flexible Box
一.简介 flexbox:全称Flexible Box, 弹性盒子布局.可以简单实现各种伸缩性的设计,它是由伸缩容器和伸缩项目组成.任何一个元素都可以指定为flexbox布局.这种新的布局方案在200 ...
- Flex box弹性布局 及 响应式前端设计的优化
Flex box弹性布局 Flex box是CSS3新添加的一种模型属性,它的出现有力的打破了我们常常使用的浮动布局.实现垂直等高.水平均分.按比例划分,可以实现许多我们之前做不到的自适应布局.如果你 ...
- css3 弹性布局和多列布局
弹性盒子基础 弹性盒子(Flexible Box)是css3中盒子模型的弹性布局,在传统的布局方式上增加了很多灵活性. 定义一个弹性盒子 在父盒子上定义display属性: #box{ display ...
- 第10章 布局样式相关-伸缩布局(Flexible Box)
伸缩布局(一) CSS3引入了一种新的布局模式--Flexbox布局,即伸缩布局盒模型(Flexible Box),用来提供一个更加有效的方式制定.调整和分布一个容器里项目布局,即使它们的大小是未知或 ...
- CSS3 Flex Box 弹性盒子、弹性布局
目录 1. 概要 2. justify-content 属性 3. align-items 属性 4. flex-wrap 属性 5. align-content 属性 6. 居中 7. align- ...
- CSS3弹性伸缩布局(一)——box布局
CSS3弹性伸缩布局简介 2009年,W3C提出了一种崭新的方案----Flex布局(即弹性伸缩布局),它可以简便.完整.响应式地实现各种页面布局,包括一直让人很头疼的垂直水平居中也变得很简单地就迎刃 ...
- CSS3伸缩盒Flexible Box
这是一种全新的布局,在移动端非常实用,IE对此布局的相关的兼容不是很好,Firefox.Chrome.Safrai等需要加浏览器前缀. 先说说这种布局的特点: 1)移动端由于屏幕宽度都不一样,在布局的 ...
- flex弹性布局学习笔记
前言 资料来源于网络,本人只是对此作了一下操作,记录于此以便以后查阅.目的在于梳理自己前端凌乱的知识点. 本文根据 Brian Franco 的一个flexbox.scss库来记录 入职新公司前对移动 ...
随机推荐
- oracle select非group by的字段
可以把group by的结果集当作一个表,然后从这里表里取数就可以了. e.g. SELECT A.PROJECT_CODE,A.DIE_NO,E.ONE_CONSUMING FROM (SELECT ...
- 「产品经理全连接系列2」企业如何开展敏捷或DevOps的研发变革
大家好,我是华为云的产品经理 恒少: 作为布道师和产品经理,出差各地接触客户是常态,经常和华为云的客户交流.布道.技术沙龙,但是线下交流,覆盖的用户总还是少数. 我希望可以借线上的平台,和用户持续交流 ...
- clang -O3 for循环的LLVM IR
O3都是怪物,这里分析的是CLANG怪物,示例程序遍历数组每个元素然后放大. void foreach_scale(int arr[],int elem){ for(int i=0;i<elem ...
- socket 连接关闭的TIME_WAIT状态的理由
MSL就是maximum segment lifetime(最大分节生命期),这是一个IP数据包能在互联网上生存的最长时间,超过这个时间将在网络中消失 TIME_WAIT两点原因: 1.TCP分节可能 ...
- CF959D Mahmoud and Ehab and another array construction task 数学
Mahmoud has an array a consisting of n integers. He asked Ehab to find another array b of the same l ...
- thinkphp 3.0 核心函数U的一个致命bug
最近在玩thinkphp,感觉内置函数 U 挺强大的! 传递多个参数时,出乱子了(window环境下,xampp) 例如 echo U('Blog/cate',array('cate_id'=> ...
- Redis学习笔记(1)—— NoSQL&Redis简介
一.NoSQL概述 1.1 什么是NoSQL NoSQL(NoSQL = Not Only SQL),意指“不仅仅是SQL”,是一项全新的数据库理念,泛指非关系型的数据库. 1.2 为什么需要NoSQ ...
- php curl 请求api 接口
官方文档curl : http://www.runoob.com/php/php-ref-curl.html php开启curl : ① 打开 php.ini 文件 extension=php_c ...
- window 系统 修改服务器远程登录端口
window 系统 [ 默认3389远程端口 ] 快捷键:Ctrl+R 然后输入“regedit”,打开注册表 或者 单击左下角[开始]——[运行],然后在输入框输入 regedit,点击确定,打开 ...
- stdin stdout stderr 标准I/O流
Unix中一切皆文件,磁盘等设备在操作系统来看都是文件. 对文件进行操作时,需要打开这个文件,并获得文件描述符(file descriptor, fd) 而每个进程生来就有三个文件描述符绑定在它身上, ...