Flex学习笔记
Flex —— Flexible Box 弹性布局
用来为盒子模型提供灵活性
/* 块级元素 */
.box{
display: flex;
} /* 行内元素 */ .box{
display: inline-flex;
} /* Webkit 内核的浏览器 */
.box{
display: -webkit-flex; /* Safari */
display: flex;
}
基本概念
容器 container —— display: flex;后的元素
项目 item —— container里面的元素
主轴 main axis —— 横轴
交叉轴 cross axis —— 竖轴
main start,main end,cross start,cross end —— 如果从左到右,从上到下算,则为:左端点,右端点,上端点,下端点
main size,cross size —— 宽多少,高多少
container的属性
6个
- flex-direction √
- flex-wrap √
- flex-flow
- justify-content √
- align-items √
- align-content
// 记四个就够用了
flex-direction
item的排列方向(row | row-reverse | column | column-reverse
)(→ | ← | ↓ | ↑)
默认row →
flex-wrap
怎么换行(nowrap | wrap | wrap-reverse
)(不换行 | 往下换行 | 往上换行)
默认不换行nowrap
flex-flow
是 flex-direction 和 flex-wrap 属性的复合属性。
,默认值为flex-flow: row nowrap;
justify-content
item的在横轴上怎么对齐,(flex-start | flex-end | center | space-between | space-around
) (main start为起点对齐 | mian end为起点对齐 | 向中间靠拢对齐 | 两端对齐,item间隔相等 | 每个item两侧间隔相等)
具体对齐方式与轴的方向有关。下图假设主轴为从左到右:
align-items
item在竖轴上怎么对齐(flex-start | flex-end | center | baseline | stretch
)(cross start为起点对齐 | cross end 为起点对齐 | 竖轴中心点对齐 | item的第一行文字的基线对齐 | 如果项目没设置高度或设auto将占满整个高度)
默认stretch
具体的对齐方式与交叉轴的方向有关,下图假设交叉轴从上到下:
align-content
定义了多根轴线的对齐方式
align-content: flex-start | flex-end | center | space-between | space-around | stretch
item的属性
6个
order √
flex-grow √
flex-shrink √
flex-basis
flex
align-self √ //√的四个可能有用点
order - 排序
item排列顺序,数值越小,排列越靠前,默认为0
.item {
order: <integer>;
}
flex-grow
item的放大比例, 默认0,即如果存在剩余空间,也不放大。
flex-shrink
item的缩小比例,默认为1,即如果空间不足,该项目将缩小。
不能负值
flex-basis
定义了在分配多余空间之前,项目占据的主轴空间(main size)。浏览器根据这个属性,计算主轴是否有多余空间。它的默认值为auto
,即item的本来大小。
.item {
flex-basis: <length> | auto; /* default auto */
}
flex
flex-grow
, flex-shrink
和 flex-basis的复合属性,默认0,1,auto
align-self
这个item自己想和别的不同的对齐方式,默认值为auto
,表示继承父元素的align-items
属性,如果没有父元素,则等同于stretch
。
align-self: auto | flex-start | flex-end | center | baseline | stretch(除了auto,其他都与align-items属性完全一致)
汇总
Flex学习笔记的更多相关文章
- CSS3伸缩布局Flex学习笔记
如果需要使用伸缩布局首先得把display:flex;对于兼容还得加前缀display:-webkit-display:flex;等其他浏览器前缀,但我本机Chrome测试已经不需要加前缀了,其实这些 ...
- Flex学习笔记-皮肤
1文件结构 MXML应用程序 index.mxml 皮肤文件 components.button.skin.btnSkin1.mxml 皮肤文件的组件随便引用了spark.components.Bu ...
- Flex学习笔记-时间触发器
<?xml version="1.0" encoding="utf-8"?> <s:Application xmlns:fx="ht ...
- Flex学习笔记-Vgropu Hgroup 定义的组 表单程序。
<?xml version="1.0" encoding="utf-8"?> <s:Application xmlns:fx="ht ...
- Flex学习笔记-自定义菜单的显示细节
icon <?xml version="1.0" encoding="utf-8"?> <s:Application xmlns:fx=&qu ...
- Flex学习笔记--多层菜单按钮
<?xml version="1.0" encoding="utf-8"?> <s:Application xmlns:fx="ht ...
- Flex学习笔记-使用MXML和一个AS事件监听器监听事件
<?xml version="1.0" encoding="utf-8"?> <s:Application xmlns:fx="ht ...
- flex学习笔记 使用函数,显示实时更新的标签
<?xml version="1.0" encoding="utf-8"?> <s:Application xmlns:fx="ht ...
- Flex学习笔记,脚本式验证
<?xml version="1.0" encoding="utf-8"?> <s:Application xmlns:fx="ht ...
- Flex学习笔记PopUpMenuButton
<?xml version="1.0" encoding="utf-8"?> <s:Application xmlns:fx="ht ...
随机推荐
- 通过ODBC接口访问人大金仓数据库
国产化软件和国产化芯片的窘境一样,一方面市场已经存在性能优越的同类软件,成本很低,但小众的国产化软件不仅需要高价买入版权,并且软件开发维护成本高:另一方面,国产软件目前普遍难用,性能不稳定,Bug ...
- 树状数组区间修改and查询和
在差分数组上稍加改变,就可以实现这个骚操作 首先我们先来看一看普通的树状数组(基于差分)怎么暴力的求解区间和就是询问区间长度次和 \(\sum^{i=1}_{len}\sum^{j=1}_{i}bas ...
- 如何在Linux中显示和设置主机名
原文链接 随着连接到网络的计算机数量越来越多,每一台计算机都需要有一个属性来区别于其它计算机.和现实世界中的人一样,计算机也有一个叫做hostname(主机名)的属性. 什么是hostname 从它的 ...
- python—命名空间、作用域查找顺序、闭包
名称空间 name space,如下图: x = 1, 1存放在内存中,1 会有一个内存地址,x 则 存放在 name space 里,并同时记录了 1的内存地址, 即 名称空间是存放了变量x与1绑定 ...
- 谈谈JDK8中的字符串拼接
字符串拼接问题应该是每个Java程序员都熟知的事情了,几乎每个Java程序员都读过关于StringBuffer/StringBuilder来拼接字符串. 在大多数的教程中,也许你会看到用+号拼接字符串 ...
- javascript入门笔记4-数组
1.数组 var arr=new Array(); var myarray= new Array(8); //创建数组,存储8个数据. 注意: 1.创建的新数组是空数组,没有值,如输出,则显示unde ...
- runit git-daemon-run 等错误
正在处理用于 man-db (2.7.5-1) 的触发器 ... 正在设置 runit (2.1.2-3ubuntu1) ... start: 无法连接到 Upstart: Failed to con ...
- WebStrome react-native代码智能提示
1.clone到本地 git clone https://github.com/virtoolswebplayer/ReactNative-LiveTemplate 2,添加ReactNative. ...
- HashMap的使用
HashMap的使用 import java.util.HashMap; import java.util.Iterator; //HashMap<key, value>():键值对的形式 ...
- springMVC入门一
一.准备工作 eclipse使用maven搭建项目,项目名称为HelloSpringMVC 二.搭建好的项目如下: 项目介绍:实现简单的helloworld 三.具体代码 controller类:He ...