挺早就接触了css的flex布局,深入使用也就是在近期移动端开发。老来多健忘,只能自己梳理一下知识点,当做温故知新吧。

,请原谅小白的才疏学浅,写的不到位的地方请指正。

  flex属性用于设置或检索弹性盒模型对象的子元素如何分配空间。也就是说当某个div使用了flex后,div也就成为了flex容器,

里面的子项即使使用float,vertical-align、clear这些属性也是无法生效的,到这里其实还是一头雾水。那么我们先来看一下flex的6个属性。

  1、flex-direction,顾名思义,direction就是方向的意思。使用flex后,容器默认会有两根轴:水平的主轴(main axis)和垂直的交叉轴(cross axis)

ps:我个人理解是X轴和Y轴,这样方便自己记忆,下面就使用X(水平轴)和Y(交叉轴)来说明。

那么知道容器存在X轴Y轴以后,再回到这个属性上来理解就容易多了,首先可以是X轴的排列方向,也就是通俗的左对齐和右对齐,然后是Y轴的纵对齐,看下面列出来的值就简单明了了

首先row就是默认的左对齐,紧接着的row-reverse就是反向了,也就是右对齐。然后column就是纵对齐了,最后一个属性也是反向了。如果还不明白就看下面几张图

 

  2、flex-wrap,css中看到wrap都跟行有关,那么其实也就是换不换行了,属性值默认是不换行,也就是nowrap。设置flex-wrap:wrap就是换行了。

flex-wrap:wrap-reverse就不用再说了吧,就是反过来,wrap换行开始是第一行在上,reverse就是最后一行在上面了。

  3、flex-flow,该属性可以将刚才上面的两个属性串联起来,例如flex-flow:row-rever  wrap。比较简单就不写那么详细了

  4、justify-content,很明显就是容器内容的对齐属性了。不过在内容对齐时,得先看flex-direction的值是关于哪条轴对齐了。

    flex-start:在主轴上由左或者上开始排列;

    flex-end:在主轴上由右或者下开始排列;

    center:在主轴上居中排列 ;

    space-between:在主轴上左右两端或者上下两端开始排列

    space-around:每个项目两侧的间隔相等。所以,项目之间的间隔比项目与边框的间隔大一倍。

    前面3个比较容易懂,后面两个值是什么意思呢,无图言吊,直接上图

    

space-between值就是两边对齐后,剩下的空间平均分配,space-around其实也就是每个子项都有着相同的margin-left和margin-right。

  5、align-items,该属性有5个值: flex-start ,flex-end , center , baseline , stretch。

很容易与下面记录的第6个属性align-content混淆,先来简单的区分一下:align-content是使用时是针对于多行内容下,而align-items是单行或者多行内容都可以使用,这样一分就清晰很多了。现在来看一下几个属性值的demo图

6、align-content,该属性有5个值: flex-start ,flex-end , center , space-between,space-around, stretch。详情看下面demo图

以上6点就是在父容器的属性,下面说一下在子项的几个属性。

1、order ,设置order属性也跟排序有关,order翻译过来就是“顺序”,那么在子项中,设置了order后改变它的值即可改变子项在排列中的顺序,值越小那么越靠前,相反,值越大越靠后,看下面demo图

2、flex-grow ,grow英文翻译过来就是发展、生长的意思,也可以理解为缩放,ok,既然是知道是缩放了那么理解起来就容易多了。flex-grow的值是number,默认值是0,就是说即使父容器存在剩余空间老子也不要,那么如果子项

都设置了1,即是每个人平分他爸的家产,等比例平分。如果值不一样,比如1、1、2、1,那么值是2的那一项就会比1的那一项多一倍的位置,直接看demo图吧

3、flex-shrink ,该属性是当父容器空间不足,子项内容超出容器时,子项进行缩放,但是是在父元素不设置flex-wrap换行的情况下。默认值是0,也就是不进行缩放,占原来元素内容宽度大小。值越大那么缩小的就越大。看一下下面的demo图

4、flex-basis ,该属性可以为某个子项定义宽度,比如我开始就要300px宽度,那么flex-basis:300px;然后父容器再根据自身宽度减去300px后再分配其他子项的宽度,默认值是auto,子项设置了宽度则占据空间就是宽度,没有设置就是占据自身的内容宽度。

当一个父容器宽度是400,有5个子项,每个宽度是50px,其中一个flex-basis设置的值是200px;那么就是刚好占满父容器,当宽度总和超出父容器宽度时,没有设置flex-wrap换行的话便会等比例进行缩小。

5、flex ,该属性是flex-grow, flex-shrink 和 flex-basis的简写,默认值为0 1 auto。该属性有两个快捷值auto和none,构建项目的时候可以优先使用auto,因为如果独立赋值的话浏览器会去推算相关比例,存在误差。

  flex默认值 ==  flex:0 1 auto

  flex:none == flex:0 0 auto; 

  flex:auto == flex:1 1 auto

6、align-self ,和上面父容器的align-items是类似的属性,他可以为某个子项定义不一样的排列方式,也就是可以覆盖父容器的aligh-items的属性,看一下demo图

,父容器设置了align-items:flex-start,然后子项3号设置了align-self:flex-end,那么他自身的对齐排列也就出现区别了,该属性其他属性跟align-items差不多,不一一列举了。

两个月没记录学习内容了,发生了太多事,这一年带走了太多东西。大家天冷记得添衣,共勉。

莫问闲愁都几许

一川烟草

满城飞絮

梅子黄时雨

转载于:https://www.cnblogs.com/xzhan/p/10031691.html

css3 flex弹性盒子布局梳理,打通任督二脉相关推荐

  1. Vue.js-Day08【项目实战(附带 完整项目源码)-day03:订单确认页面、美团支付页面、flex弹性盒子布局】

    Vue.js实训[基础理论(5天)+项目实战(5天)]博客汇总表[详细笔记] 实战项目源码[链接:https://pan.baidu.com/s/1r0Mje3Xnh8x4F1HyG4aQTA   提 ...

  2. HTML+CSS_第三部分(Flex弹性盒子布局、grid网格布局、移动端、移动端流式布局、移动端rem布局、响应式布局、Bootstrap框架)

    文章目录 (1)Flex弹性盒子布局 一: 父容器上的属性 1. display:flex 设置为弹性盒子(写在父容器上) 2.flex-direction值 设置子项的布局方向(写在父容器上) 3. ...

  3. linux打通任督二脉百度网盘,廖阅鹏催眠CD-催眠打通任督二脉

    催眠打通任督二脉 廖阅鹏制作 神秘的能量回圈 犹如宇宙循环往复 鲤鱼跃龙门 后天之气遁入先天之气 心灵之至静 智慧之大明 一切皆是一场游戏 内容简介: 任督二脉是传统中国气功的正统能量运行路线,打通任 ...

  4. 价格逗号怎么打_OFFICE软件之间的协作技巧,打通任督二脉,提升办公效率!

    每一个软件都有各自所擅长的领域,比如Word的文字处理,比如Excel的数据处理,比如PPT的图像处理. 如果你非要使用PPT去做数据处理,用Excel做文字处理--只能事倍功半. 所以高效使用工具最 ...

  5. TCP的慢启动、拥塞避免、重传、快恢复乱七八糟总是记不清?11个连环问让你一次性打通任督二脉

    摘要:如果你的开发过程涉及数据传输,一直在重传.超时之类的方案里有困惑的话,不妨重新学一学可靠性最精致的TCP协议. 本文分享自华为云社区<TCP的慢启动.拥塞避免.重传.快恢复乱七八糟总是记不 ...

  6. Linux就这个范儿 第13章 打通任督二脉

    Linux就这个范儿 第13章 打通任督二脉 0111010110--你有没有想过,数据从看得见或看不见的线缆上飞来飞去,是怎么实现的呢?数据传输业务的未来又在哪里?在前面两章中我们学习了Linux网 ...

  7. 程序员的自我修炼(一):打通任督二脉

    程序员的自我修炼(一):打通任督二脉 文章目录 程序员的自我修炼(一):打通任督二脉 前言 思想的力量 黄金圈法则 软技能 剑的力量 驱动力3.0 十步学习法 整体性学习方法 费曼学习法 富爸穷爸爸爸 ...

  8. Appium+python自动化(十)- 元素定位秘籍助你打通任督二脉 - 上卷(超详解

    简介 你有道灵光从天灵盖喷出来你知道吗,年纪轻轻就有一身横练的筋骨,简直百年一见的练武奇才啊,如果有一天让你打通任督二脉,那还不飞龙上天啊.正所谓我不入地狱谁入地狱,警恶惩奸维护世界和平这个任务就交个 ...

  9. 打通任督二脉,成为OI侠客的秘笈,在!这!里!

    小清从小就饱读 知音等 武侠小说, 最心水的当属金庸.古龙.梁羽生.琼瑶 之作. 历经十七载的闭关修炼, 小清已集各大门派的武学于一身! 若不是受最早.最大NOIP/NOI辅导机构的盛名所累, 若不是 ...

最新文章

  1. IP 公司与GPU IP
  2. Windows中安装Apache2和PHP4权威指南
  3. saltstack (6) 配置管理(2)
  4. 计算机毕业论文多久,计算机毕业论文
  5. Solr安装(单机版)
  6. 逻辑推理篇:数据分析中违背常理的悖论:辛普森悖论
  7. Android之BaseRecyclerViewAdpater(3.0.4版本)当页面第二次滑到底部的时候没有触发OnLoadMoreListener监听的onLoadMore函数
  8. SpringCloud Ribbon(四)之全局配置与服务配置
  9. windows下apache+php+mysql 环境配置方法
  10. 最短路径 floyd java_java实现Floyd算法求最短路径
  11. 在Github和oschina上搭建自己的博客网站
  12. linux chown
  13. SqlServer2000中作业无法删除的原因和解决办法
  14. linux php漏洞扫描工具,TPScan Thinkphp漏洞扫描器 命令执行
  15. 安装了360安全卫士和瑞星杀毒,看迅雷电影很卡,谁有知道的
  16. 健康,home? [java的内存浅析]
  17. 设计师:设计师之家装材料知识之家装八项(吊顶材料、门窗材料、五金材料、墙面材料、地面材料、胶粘材料、油漆材料、水电材料等)之详细攻略
  18. Nginx-RTMP功能调研
  19. 游戏服务器里怎么看在线人数,数据大佬统计服务器在线人数 来看看哪区最鬼...
  20. EXCEL如何固定住一行和一列

热门文章

  1. JS---event事件
  2. 安装ENVI报错“Internal Error 25259. DirectX -9”的解决方法
  3. android 数据刷新问题,RecyclerView数据不刷新问题
  4. 【weJudge】1109. [ACM]呐,你想成为什么颜色呢?
  5. 远程连接访问mysql数据库
  6. python简单绘图
  7. MegaCli 安装及使用
  8. 栈的压入、弹出序列(Java)
  9. vue通过点击按钮弹出新窗口打开html文件
  10. Mybatis01_基础详细入门案例