一、背景介绍

Flexbox 布局(FLexible Box)意在提供一个更为有效的方式来进行布局、对齐和分配一个容器内元素之间的空间,即使他们的大小是未知的或者动态的。

flex布局的主要思想是,让容器能够改变它的子元素的宽度/高度(甚至顺序),从而更好地填充可用的空间(主要是为了适应所有种类的设备和屏幕大小)。

最重要的,flexbox 布局是可以改变方向的。与之相对的是传统布局(block是垂直方向的从上到下,inline是水平方向的从左到右)。虽然他们在页面上表现良好,但是他们缺乏弹性(字面意义上的缺乏弹性)来适应大型的或者复杂的应用(尤其是遇到方向的改变、调整大小、伸展、收缩等等这些情况时)。


二、知识剖析

采用Flex布局的元素,称为Flex容器(flex container),简称"容器"。它的所有子元素自动成为容器成员,称为Flex项目(flex item),简称"项目"。

容器默认存在两根轴:水平的主轴(main axis)和垂直的交叉轴(cross axis)。主轴的开始位置(与边框的交叉点)叫做main start,结束位置叫做main end;交叉轴的开始位置叫做cross
                        start,结束位置叫做cross end。项目默认沿主轴排列。单个项目占据的主轴空间叫做main size,占据的交叉轴空间叫做cross size。


三、常见问题

元素的水平垂直居中


四、解决方案

1.传统方案

2.flex解决方案


五、编码实战

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>Document</title>
    <link rel="stylesheet" href="1.css">
</head>
<body>
    <div class="box">
      <!-- <span class="box1">&nbsp</span> -->
      <span class="box2">&nbsp</span>
      <span class="box2">&nbsp</span>
      <span class="box2">&nbsp</span>
    </div>
</body>

</html>

html{
    font-size: 62.5%;
}
body{
    margin: 0;
}
.box{
  width: 100%;
  height: 30rem;
  background: rgb(190, 189, 189);
  /* text-align: center;
  line-height: 30rem; */
  display:flex;
  /* justify-content: center; */
  align-items: center;
  /* justify-content: flex-start; */
  justify-content: flex-end;
  /* justify-content: space-between; */
  /* justify-content: space-around; */
  /* align-items:flex-start; */
  /* align-items: flex-end; */
}
.box1{  
    position: absolute;
    background: orange;
    padding: 5rem 5rem;
    /* text-align: center; */
    /* margin: auto 0 ; */
}
.box2{
    position: absolute;·
    margin: 0rem;
    background: orange;
    padding: 5rem 5rem;
}

六、拓展思考

flex布局在各浏览器下的兼容性


七、参考文献

参考一:
                    <a href="http://www.ruanyifeng.com/blog/2015/07/flex-grammar.html?utm_source=tuicool">阮一峰</a>

参考二:
                    <a href="http://www.cnblogs.com/mk2016/p/5562994.html">兼容性</a>


八、更多讨论

https://www.jianshu.com/p/2dfa5bab1ef1


提问1:flex:1;是什么意思,有什么效果

回答:flex:1代表一个页面的宽度比例,在不不确定元素的宽度值的时候会用到。

提问2:flex有什么缺点

回答:浏览器支持不全是最大缺点

提问3:flex里面的元素可以使用绝对定位吗

回答:可以使用绝对定位

感谢大家观看!

今天的分享就到这里啦,欢迎大家点赞、转发、留言、拍砖~

获得更多IT技能,请移步官网 点击链接直达:http://www.jnshu.com/login/1/17884272

html页面布局之flex弹性盒子相关推荐

  1. flex html 页面移动,HTML页面布局之flex弹性盒子

    这里是修真院前端小课堂,本篇分析的主题是 [HTML页面布局之flex弹性盒子] 每篇分享文从 [背景介绍][知识剖析][常见问题][解决方案][编码实战][扩展思考][更多讨论][参考文献] 八个方 ...

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

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

  3. Flex弹性盒子(一篇带你掌握潮流 Flex 布局)

    文章目录 Flex弹性盒子 1.说在前头 1.1.Flex布局出现之前 1.2.Flex布局出现后 2.什么是Flex布局? 3.Flex container/item(父/子容器)的常用属性 4.L ...

  4. html弹性盒子布局,div+css3弹性盒子(flex box)布局

    一.CSS3 弹性盒子(Flex Box) 弹性盒子是CSS3的一种新布局模式. CSS3 弹性盒( Flexible Box 或 flexbox),是一种当页面需要适应不同的屏幕大小以及设备类型时确 ...

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

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

  6. 移动web现状、viewport视口、二倍图、移动web开发主流方案、布局技术选型(流式布局、flex弹性布局、less+rem+媒体查询布局、混合布局、媒体查询、bootstrap)

    移动端web现状: 移动端常见浏览器:UC浏览器,QQ浏览器,Opera浏览器,百度手机浏览器,360安全浏览器,谷歌浏览器,搜狗手机浏览器,猎豹浏览器及杂牌浏览器.移动端常见的浏览器都是基于webk ...

  7. Flex弹性盒子详解:从量变到质变的理解

    Flex弹性盒子 在前端css3中有个非常重要的属性,就是弹性盒子了,他在页面布局中起到的作用可谓是有着王霸之业,那么我们如何正确的使用flex布局呢?让我来介绍一下吧.我们可以将整个flex布局分成 ...

  8. 移动端常见布局方式(流式布局、flex弹性布局、less+rem+媒体查询、Bootstrap)

    目录 一:移动端页面 1.流式布局(百分比布局) 2.flex弹性布局(重点♥) flex布局初体验: flex布局原理: flex布局父项常见属性 flex-direction 设置主轴的方向 ♥ ...

  9. flex弹性盒子中flex-grow与flex的区别

    flex弹性盒子中flex-grow与flex的区别 大家在使用flex布局的时候很多情况下都会用到flex-grow这个属性, flex-grow 属性用于设置父元素剩余空间的瓜分比例, flex ...

最新文章

  1. Udacity机器人软件工程师课程笔记(二十四) - 控制(其二) - PID优化,梯度下降算法,带噪声的PID控制
  2. 软件开发项目云端All
  3. char* p = 123,字符串在内存中的哪个位置?
  4. NTU课程笔记 CE7454 (3):MLPCNN
  5. IE7.0默认主页修改
  6. 关注:Eclipse,转贴eclipse CDT的开发文章
  7. shell 的here document 用法、输入/输出重定向
  8. 论文浅尝 | 基于Freebase的问答研究
  9. 电力自动化及继电保护实验室规章制度
  10. 献给写作者的 Markdown 新手指南及语法
  11. 基于Taro开发小程序笔记--04路由跳转的几种方式
  12. C++创建对象的三种方式
  13. 王小毛是懒惰了,还是堕落了?
  14. Arbor Networks Spectrum新安全平台发布:高级威胁平台通过内部企业网络连接互联网上的攻击...
  15. 继电保护整定值计算软件_电力系统继电保护整定计算与应用实例
  16. 合成孔径雷达影像(SAR图像)变化检测深度学习研究方法
  17. 服务器的四个网卡虚拟一个网卡,一种物理网卡虚拟成多个虚拟网卡的方法及系统...
  18. 满庭芳国色 高清剪图 桃红 下
  19. 关于python的开发软件pycharm设置中文(无需汉化包)
  20. html中热区如何设置,Dreamweaver中如何设置热区?DW设置热区方法图解

热门文章

  1. 百度或360搜索:地震姜常宏,求传播?!!
  2. GitHub团队仓库分配与权限设置
  3. 入住宾馆Check-in
  4. 华为手机app闪退重启清空log日志问题
  5. Android签名打包、密钥库、密钥全面解析
  6. 游戏合作伙伴专题:BreederDAO 与 Tatsumeeko 一起踏上新的冒险之旅
  7. farpoint使用
  8. 华为交换机——光电复用口如何切换光口模式
  9. php手机省电,手机中的4个小设置,更改后不卡又省电
  10. 电脑格式化后文件还能恢复吗