flexbox学习笔记

作者: 翻滚的前端程序员 | 来源:发表于2017-04-10 18:38 被阅读32次

Flexbox 布局是CSS3中一种新的布局模式,用于改进传统模式中标签对齐、方向、以及排序等等缺陷
浏览器支持情况:http://caniuse.com/#feat=flexbox

1. 开始使用

//块flex元素

<div class="container">
    <div class="item">item1</div>
    <div class="item">item2</div>
</div>
css
.container {
    display: flex;
    display: -webkit-flex;    //Safari
}
http://o9xap42x4.bkt.clouddn.com/flex1.png
//行内flex元素
<div class="container">
  <div class="item">item1</div>
  <div class="item">item2</div>
</div>
    <span>hello flexbox</span>
css
.container {
  display: inline-flex;
  display: -webkit-inline-flex;    //Safari
}
http://o9xap42x4.bkt.clouddn.com/flex2.png

2. 主轴和侧轴

http://o9xap42x4.bkt.clouddn.com/flex3.png

3. flex-direction/-webkit-flex-direction 更改主轴方向

row: 默认值,从左到右,从上到下 
http://o9xap42x4.bkt.clouddn.com/flex22.png
row-reverse: 主轴起点和终点交换位置 , 从右往左  
http://o9xap42x4.bkt.clouddn.com/flex44.png
column: 主轴与侧轴交换
http://o9xap42x4.bkt.clouddn.com/flex55.png
column-reverse: 和column一样,方向相反
http://o9xap42x4.bkt.clouddn.com/flex66.png

4. justify-content/-webkit-justify-content 主轴对齐

flex-start(默认):左对齐 
http://o9xap42x4.bkt.clouddn.com/flexa1.png
flex-end:右对齐 
http://o9xap42x4.bkt.clouddn.com/flexa2.png
center:居中
http://o9xap42x4.bkt.clouddn.com/flexa3.png
space-between: 两端对齐,item之间的间隔都相等
http://o9xap42x4.bkt.clouddn.com/flexa4.png
space-around:每个item两侧间隔相等
http://o9xap42x4.bkt.clouddn.com/flexa5.png

5. align-items/-webkit-align-items 侧轴对齐

flex-start
http://o9xap42x4.bkt.clouddn.com/2161.png
flex-end
http://o9xap42x4.bkt.clouddn.com/2162.png
center
http://o9xap42x4.bkt.clouddn.com/2163.png
baseline: 以项目的第一行文字的基线对齐
http://o9xap42x4.bkt.clouddn.com/2164.png
stretch(默认值): 当container不设置默认高度时,自动填满整个窗口的高度
http://o9xap42x4.bkt.clouddn.com/2165.png

6. flex-wrap/-webkit-flex-wrap 伸缩行换行

nowrap(默认):不换行
http://o9xap42x4.bkt.clouddn.com/2166.png
wrap: 换行,第一排在上方,依次往下
http://o9xap42x4.bkt.clouddn.com/2167.png
wrap-reverse:  换行,第一排在下方,依次往上
http://o9xap42x4.bkt.clouddn.com/2168.png

7. align-content/-webkit-align-content : 堆栈伸缩行,更改的flex-wrap的行为,对齐的不是项目,而是由flex-wrap产生的伸缩列

stretch(默认): 轴线占满整个交叉轴
http://o9xap42x4.bkt.clouddn.com/2169.png
flex-start: 与交叉轴起点对齐
http://o9xap42x4.bkt.clouddn.com/21610.png
flex-end: 与交叉轴终点对齐 
http://o9xap42x4.bkt.clouddn.com/21611.png
space-around: 每根轴线两侧距离都相等
http://o9xap42x4.bkt.clouddn.com/21612.png
space-between:两端对齐
http://o9xap42x4.bkt.clouddn.com/21613.png

8. flex-flow/-webkit-flex-flow:伸缩方向与换行, flex-direction flex-wrap 的缩写

flex-flow: [flex-direction] [flex-wrap]

上面介绍的都是父容器的一些属性,下面开始介绍一下flex item 的属性

9. flex-item 伸缩项目的属性

order: 显示排列顺序,数值越小,排列越前,默认都为0
http://o9xap42x4.bkt.clouddn.com/21614.png
margin: 外边距

margin-right: auto
http://o9xap42x4.bkt.clouddn.com/21615.png
margin: auto
http://o9xap42x4.bkt.clouddn.com/21616.png
align-self: 侧轴对齐,属性和align-items一样,会覆盖父容器的align-items属性
http://o9xap42x4.bkt.clouddn.com/21617.png
flex: [number]:该数字用于指定该项目所占用剩余空间比例
http://o9xap42x4.bkt.clouddn.com/21618.png
http://o9xap42x4.bkt.clouddn.com/21619.png

相关文章

  • React-Native中的Flexbox布局

    RN 的 Flexbox 布局的学习笔记 1.什么是 Flexbox 布局? Flexbox,弹性布局,可以以响应...

  • flexbox学习笔记

    参考阮一峰博客~http://www.ruanyifeng.com/blog/2015/07/flex-examp...

  • flexbox学习笔记

    Flexbox 布局是CSS3中一种新的布局模式,用于改进传统模式中标签对齐、方向、以及排序等等缺陷浏览器支持情况...

  • 📦 Flexbox学习笔记

    CSS Flexible Box Layout is a module of CSS that defines a...

  • Flexbox和Texture

    本文是< > 第二十七篇学习笔记. Flexbox 是 React Native、Weex 和 Texture(A...

  • Flexbox布局学习笔记

    W3C解释: In the flex layout model, the children of a flex c...

  • flex布局学习笔记

    学习flex布局中的一些笔记。参考:FLEXBOX FROGGY justify-content属性 用于水平对齐...

  • CSS Flexbox详解

    Flexbox是一个强大而灵活的布局,本篇文章主要对其进行学习了解。 一、Flexbox简介 Flexbox布局(...

  • Flexbox学习

    简介 Flex是Flexible Box的缩写,意为"弹性布局",用来为盒状模型提供最大的灵活性。采用Flex布局...

  • 学习Flexbox

    https://www.w3cplus.com/css3/understanding-flexbox-everyt...

网友评论

    本文标题:flexbox学习笔记

    本文链接:https://www.haomeiwen.com/subject/srheattx.html