各位已经入坑的前端小伙伴,前面咱们已经给大家分享了移动端开发时候流式布局的应用场景及注意事项,今天再次给大家分享一个布局叫弹性布局,接下来咱们从如下几个方面,全方位的给大家介绍弹性布局的使用.

一:什么是弹性布局?

弹性布局(flex container),页面中任何一个元素只要设置了display:flex属性,那么当前盒子都称为弹性盒子.弹性盒子默认有两条轴: 默认水平显示的主轴 和 始终要垂直于主轴的侧轴(也叫交叉轴),在弹性盒子中所有的子元素都是沿着主轴方向显示.

二:什么情况下用弹性布局?

①: 以携程移动页面为例,在网页中当遇到需要将父元素按照奇数进行等分,比如携程中红色区域是将父元素3等分.如果用流式布局那么就需要设置33.33%.如果用弹性布局只需要给每一个子元素设置一个属性flex:1即可快速实现.

②:以淘宝网页为例,当我们需要页面中多个子元素快速实现在父元素中以左右距离适中显示的时候,这个时候我们不需要设置任何的px值,只需要给元素设置justify-content:space-around就可以实现.

③:以携程为例,当页面中出现子元素按照其他比例分割父元素的时候,依然可以通过弹性盒子中的flex实现快速实现.如图:红色区域是按照 2:1:2 和 2:1:1:1的比例显示.

如果咱们在写移动端页面(包括PC端页面)遇到以上几种情况的时候,弹性布局是最好的选择.

三:弹性布局的具体使用

很多小伙伴都清楚弹性布局很好用,但是就是属性太多记不住而且还容易将属性对应的效果搞混,所以接下来我将给大家总结一下弹性布局中几个必须掌握的属性.

①:弹性布局第一步就是先给父元素设定为弹性盒子,既设置属性:display:flex.如代码所示:

②:设置伸缩盒子的主轴方向,默认伸缩盒子中的主轴是水平显示,所以默认元素都是一行显示的.可以通过flex-direction属性调整主轴的方向,改变元素的显示方式

flex-direction: row的显示效果如下图所示:

flex-direction:row-reverse的显示效果如下图所示:

flex-direction:column的显示效果如下图所示:

flex-direction:column-reverse的显示效果如下图所示:

③:设置元素在主轴方向的对齐显示方式,通过justify-content属性实现

justify-content:flex-start的显示效果如下:

justify-content:flex-end的显示效果如下:

justify-content:space-between的显示效果如下:

justify-content:space-around的显示效果如下:

④:设置弹性盒子中元素在侧轴(交叉轴)方向的对齐方式通过align-items实现.

align-items: stretch 默认值的显示效果如下:

align-items:flex-start显示效果如下:

align-items:flex-end显示效果如下:

align-items:center显示效果如下:

⑤:在伸缩盒子中,默认所有的子元素超出父容器宽度后都不换行显示,如果希望让超出父元素后换行显示,可以通过flex-wrap属性实现

flex-wrap:nowrap 默认效果如下:

flex-wrap:wrap 显示效果如下:

⑥:在伸缩和中元素换行后设置多行对齐方式,通过align-content属性实现

align-content:stretch默认值显示效果:

align-content:flex-start 显示效果如下:

align-content:flex-end 显示效果如下:

align-content:center 显示效果如下:

align-content: space-between 显示效果如下

align-content: space-around显示效果如下:

以上属性都是给弹性盒子设置的属性,各位小伙伴要注意.如下代码所示:

⑦:如果希望弹性盒子中子元素按照任何一个比例显示,可以给子元素设置flex属性,如下图所示:

Flex: 1.代表子元素占父元素空间宽度的一份.

Felx:2代表子元素占父元素空间宽度的2份,依次类推

三: 弹性布局优缺点分析

弹性布局在网页中实现快速分配比例,盒子快速对齐优势很大,因为通过简单的几个属性就可以实现,进而减少我们设置具体值.但是弹性布局中的属性对于浏览器版本要求比较严格,如果浏览器版本太低那么弹性布局中的属性是无法正常使用的.如下图所示:

写在最后的几句话,送给大家.学习任何知识都不是为了去解决某个特定问题的.我们学的知识可以当成是我们工具包中的一个新工具.在恰当的时候使用恰当的工具解决问题就可以了.针对弹性布局中还有其他属性,由于我们在写页面的过程中不是经常用到,所以今天主要分享给大家弹性布局中我们必须会的. 好的这个章节就讲到这里,我们下一个章节讲解rem布局。

flex 左右布局_web前端学习:移动端开发常用布局—前端弹性布局总结相关推荐

  1. 小白前端学习日记(一)认识前端

    小白前端学习日记系列 小白前端学习日记(二)HTML基础语法与标签 小白前端学习日记(一)认识前端 小白前端学习日记系列 前言 前端是什么 前端所需要掌握的基本能力 结构层--HTML 样式层--CS ...

  2. flex 左右布局_移动端开发常用布局:前端弹性布局总结

    各位已经入坑的前端小伙伴,前面咱们已经给大家分享了移动端开发时候流式布局的应用场景及注意事项,今天再次给大家分享一个布局叫弹性布局,接下来咱们从如下几个方面,全方位的给大家介绍弹性布局的使用. 一:什 ...

  3. web后端语言_web前端学习路线图_快速入门web前端学习路线图

    如何学好Web前端开发技术?前端学习路线是什么?如今,移动开发的发展依旧如火如荼,企业对于Web前端人才需求产生了巨大的缺口,从事Web前端开发的程序员们则是其中较大的获益者.Web前端的广泛运用,造 ...

  4. .net移动端开发_移动端开发1(前端一)

    Day14 1.视口:浏览器显示内容的屏幕区域 < meta name="viewport"//视图标签 content="width"//设备宽度 in ...

  5. 小白前端学习流程【爱创课堂专业前端培训】

    对于零基础非科班的同学来说,一个良好的前端学习流程和学习误区是需要我们去规避和计划的,爱创课堂目前专注于前端培训,总结了以下几点,给大家一个参考. 在开始学习之前你需要做到以下5点: 第一:需要达到什 ...

  6. H5手机移动端开发常用资源整合

    在移动端开发中需要考虑的问题比较多,常见的资源以及移动端需要注意的地方整理出来了,这是篇转载的文章,写的比较全面,分享给大家. 头部meta基础知识介绍 H5页面窗口自动调整到设备宽度,并禁止用户缩放 ...

  7. 页面布局孰优孰劣:基于REM的EMs弹性布局——可用性的胜利

    http://blog.dimpurr.com/ems-layout/ 页面布局的方式总是随着技术的更新和创意的涌现不断的更新换代.从最开始的 Fixed 固定布局,到因为宽屏设备和移动互联网的普及产 ...

  8. 移动端开发, 常用CSS单位

    (转)https://www.cnblogs.com/mylove103104/archive/2015/06/18/4584779.html rem "em" 单位是我们开发中比 ...

  9. php css布局技巧,最全的CSS开发常用技巧

    css(层叠样式表)是一种用来表现HTML(标准通用标记语言的一个应用)或XML(标准通用标记语言的一个子集)等文件样式的计算机语言.CSS不仅可以静态地修饰网页,还可以配合各种脚本语言动态地对网页各 ...

最新文章

  1. c++文件中引用C代码
  2. ASP.NET通过ajax调用后台方法
  3. 图片自适应css代码(转)
  4. Java做一个动画效果音量调节_设计与实现一个 ISoundable 接口,该接口具有发声功能、还能调节音量大小...
  5. 收获,不止SQL优化——抓住SQL的本质--第七章
  6. php qq邮箱发送邮件报错_PHP实现发送邮件(二)
  7. android切换输入法工具类
  8. 使用GenyMotion模拟器+抓包工具SRSniffer分析网络请求
  9. 怎么把ide改成ahci_不重装系统如何开启ahci模式_不重装系统ahci改ide模式的方法...
  10. Apache ShenYu源码阅读系列-Dubbo插件
  11. 脑肿瘤的影像组学:图像评估、定量特征描述和机器学习方法
  12. 设置笔记本电脑插入USB鼠标时,自动禁用触摸板
  13. 镜头主要参数与光 源 选 型,选型焦距计算公式,CS、C接口工业镜头与M12镜头的关系知识。
  14. 淘淘商城第51讲——从商城首页跳转到搜索页面
  15. 读《曾国藩》笔记2--慈不掌兵
  16. Vue如何使用iconfont(阿里图标库)
  17. 【智能路由器】离线缓存投毒实现分析
  18. Cg Programming/Unity/Lighting Textured Surfaces光照纹理表面
  19. R沟通|Typora字体颜色设置
  20. 程序人生 - 车险到底哪家好、怎么选?三巨头对比,让你一目了然

热门文章

  1. html css 表头,css固定表格表头(各浏览器通用)
  2. C案例:创建顺序表并进行增删改查操作
  3. 2017.9.8 无归岛 思考记录
  4. azure kinect三维点云_【干货】三维重建技术综述
  5. 【英语学习】【Level 07】U03 Amazing wonders L3 A pearl of East Asia
  6. 【英语学习】【English L06】U01 Breakfast L4 Drink Morning Tea
  7. 《Java开发手册》阅读笔记(三)
  8. python里textfield_Django:为什么我的CharField没有得到类vTextField?
  9. typora 字体颜色_Typora 使用教程
  10. iOS内存管理机制解析