flex布局超级详细教程

文章目录

  • flex布局超级详细教程
    • flex 布局父项常见属性
      • ①、flex-direction:设置主轴的方向
      • ②、 justify-content:主轴上的子元素排列方式
      • ③、flex-wrap:子元素是否换行
      • ④、align-content:侧轴上的子元素的排列方式 (**多行**)
      • ⑤、align-items:侧轴上的子元素的排列方式 **(单行**)
      • ⑥、flex-flow
    • flex布局子项常见属性
      • ①、flex 属性
      • ②、align-self 控制子项自己在侧轴的排列方式
      • ③、order 属性定义子项的排列顺序
      • ④、flex-group子项目延伸比率## 标题
    • 总结:

flex 布局父项常见属性

以下由6个属性是对父元素设置的

flex-direction:设置主轴的方向
justify-content:设置主轴上的子元素排列方式
flex-wrap:设置子元素是否换行
align-content:设置侧轴上的子元素的排列方式 (多行)
align-items:设置侧轴上的子元素的排列方式 (单行)
flex-flow:复合属性,相当于同时设置了 flex-direction 和 flex-wrap

align-content 和 align-items

align-items 适用于单行情况下,只有上对齐、下对齐、居中和拉伸
align-content 使用于换行(多行)的情况下(单行情况下无效),可以设置上对齐、下对齐、居中、拉伸以及平均分配剩余空间等属性值
总结就是单行找 align-itens 多行找 align-content

①、flex-direction:设置主轴的方向

主轴与侧轴

  • 在flex布局在,是分为主轴和侧轴两个方向,同样的叫法有:行和列,x轴和y轴

  • 默认主轴方向就是x轴得方向,水平向右

  • 默认侧轴方向就是y轴得方向,垂直向下

  • flex-direction 属性决定主轴的方向(即项目的排列方向

  • 注意:主轴和侧轴是会变化的,就看 flex-direction 设置为主轴,剩下的就是侧轴,而我们的子元素是跟着主轴来排列的

    属性值 解释说明
    row 默认值从左到右
    row-reverse 从右向左
    column 从上到下
    column-reverse 从下到上
      <style> .container{display: flex;width: 600px;height: 400px;background-color: rgb(200, 232, 241);display: flex;width: 600px;height: 400px;background-color: rgb(200, 232, 241);/* 默认主轴是水平从左往右 *//* flex-direction: row; *//* 主轴 水平从右往左 *//* flex-direction: row-reverse; *//* 主轴为垂直从上往下 *//* flex-direction: column; */flex-direction: column-reverse;}span{line-height: 80px;text-align: center;font-size: 30px;color: white;margin:10px 10px;width: 80px;height:80px;background-color: rgb(28, 188, 222);}<div class="container"><span><b>1</b></span><span><b>2</b></span><span><b>3</b></span><span><b>4</b></span><span><b>5</b></span><span><b>6</b></span><span><b>7</b></span></div>

②、 justify-content:主轴上的子元素排列方式

  • justify-content 属性定义了项目在主轴上的对齐方式
  • 注意:使用这个属性之前一定要确定好主轴是哪个
属性值 解释说明
flex-start 默认值从头部开始,如果主轴是 X 轴,则从左到右
flex-end 从尾部开始排列
center 在主轴居中对齐,如果主轴是 X 轴,水平居中
space-around 平分剩余空间
space-between 先两边贴边 在平分剩余空间(重要)
space-evenly 弹性盒子和容器之间的间距相等
.container{display: flex;width: 600px;height: 400px;background-color: rgb(200, 232, 241);flex-direction: row;justify-content: flex-start;/* justify-content: flex-end; *//* justify-content: space-between; *//* justify-content: space-around; *//* justify-content: center; */}span{line-height: 80px;text-align: center;font-size: 30px;color: white;margin:10px 10px;width: 80px;height:80px;background-color: rgb(28, 188, 222);}<div class="container"><span><b>1</b></span><span><b>2</b></span><span><b>3</b></span><!-- <span><b>4</b></span><span><b>5</b></span><span><b>6</b></span><span><b>7</b></span> --></div>

③、flex-wrap:子元素是否换行

  • 默认情况下,项目都排在一条线(又称"轴线")上
  • flex-wrap属性定义,flex布局中默认是不换行的
属性值 解释说明
nowrap 默认值,不换行
wrap 换行
wrap-reverse 前后反转换行
.container{display: flex;width: 600px;height: 400px;background-color: rgb(200, 232, 241);/* flex-wrap: nowrap; *//* flex-wrap: wrap; */flex-wrap: wrap-reverse;}span{line-height: 80px;text-align: center;font-size: 30px;color: white;margin:10px 10px;width: 80px;height:80px;background-color: rgb(28, 188, 222);}<div class="container"><span><b>1</b></span><span><b>2</b></span><span><b>3</b></span><span><b>4</b></span><span><b>5</b></span><span><b>6</b></span><span><b>7</b></span></div>

④、align-content:侧轴上的子元素的排列方式 (多行)

  • 设置子项在侧轴上的排列方式并且只能用于子项出现换行的情况(多行),在单行下没有效果
属性值 解释说明
flex-start 在侧轴的头部开始排列
flex-end 在侧轴的尾部开始排列
center 在侧轴中间显示
space-around 子项在侧轴平分剩余空间
space-between 子项在侧轴先分布在两头,在平分剩余空间
stretch 设置子项元素高度平分父元素高度

⑤、align-items:侧轴上的子元素的排列方式 (单行)

  • 该属性是控制子项在侧轴(默认是 y 轴) 上的排列方式
  • 在子项为单项(单行)的时候使用
属性 解释说明
flex-start 默认值从上到下
flex-end 从下到上
center 挤在一起居中(垂直居中)
stretch 拉伸

⑥、flex-flow

  • flex-flow 属性是复合属性, flex-direction 和 flex-wrap 属性的复合属性

  • flex-flow: row nowrap;

    .container{display: flex;width: 600px;height: 400px;background-color: rgb(200, 232, 241);flex-flow: row wrap;}span{line-height: 80px;text-align: center;font-size: 30px;color: white;margin:10px 10px;width: 80px;height:80px;background-color: rgb(28, 188, 222);}
    <div class="container"><span><b>1</b></span><span><b>2</b></span><span><b>3</b></span><span><b>4</b></span><span><b>5</b></span><span><b>6</b></span><span><b>7</b></span><span><b>8</b></span><span><b>9</b></span></div>
    

flex布局子项常见属性

  • flex 子项目占的分数
  • align-self 控制子项自己在侧轴的排列方式
  • order 属性定义子项的排列顺序 (前后顺序)

①、flex 属性

  • flex 属性定义项目分配父盒子的剩余空间,用 flex 来表示占多少分数
  • 属性值为数字,数字为1,表示占总份数中的1 份,默认值为0
 .container{display: flex;width: 600px;height: 400px;background-color: rgb(200, 232, 241);}span{line-height: 80px;text-align: center;font-size: 30px;color: white;margin:10px 10px;width: 80px;height:80px;background-color: rgb(28, 188, 222);}span:nth-child(2){flex: 1;}<div class="container"><span><b>1</b></span><span><b>2</b></span><span><b>3</b></span></div>

②、align-self 控制子项自己在侧轴的排列方式

  • align-self 属性允许单个项目有与其他项目不一样的对齐方式,可覆盖 align-items 属性
  • 默认值为 auto,表示继承父元素的 align-items 属性,如果没有父元素,则等同于 stretch
属性值 解释说明
auto 表示继承容器的 align-items 属性。(默认值)
flex-start 沿着侧轴方向 起点 对齐(默认值)。
flex-end 沿着侧轴方向 结尾 对齐。
center 沿着侧轴方向 居中 对齐。
stretch 沿着侧轴方向自动进行拉升到最大。
baseline 沿着侧轴方向,按照项目内的文字对齐。

③、order 属性定义子项的排列顺序

  • 数值越小,排列越靠前,默认值为 0

  • 注意:和 z-index 不一样

④、flex-group子项目延伸比率## 标题

  • flex-grow 属性用于设置或检索弹性盒子的扩展比率。

  • 注意:如果元素不是弹性盒对象的元素,则 flex-grow 属性不起作用

描述
number 一个数字,规定项目相对于其他灵活的项目进行扩展的量。默认值是 0。
initial 设置该属性为它的默认值。
inherit 从父元素继承该属性。

总结:

flex布局超级详细的完整教程(看完印象深刻)相关推荐

  1. 微信支付V3 超级详细版请认真看完——(第2集)

    目录 关于API v3 各参数的解释 商户API证书序列号,申请证书后就有对应的.

  2. pytorch超级详细的安装教程

    pytorch超级详细的安装教程 第一次安装的时候安装了差不多有一整天,还安装失败了.这次安装的速度很快. 首先是Anaconda的下载,我用的是上学期学python的时候老师之前给的安装包,很快就安 ...

  3. SQL超级详细的使用教程

    SQL超级详细的使用教程 免责声明本篇文章仅用于教育,请不要在中华人民共和国境内使用本文章内容,出事与作者无关 1.SQL 漏洞 SQL 的概念字面意思是"结构化查询语言".换句话 ...

  4. H5 携程app官网首页用flex布局+css3详细教程

    效果图 详细教程 1.搭建 H5携程移动端页面 (一) 2.flex布局 H5携程移动端头部搜索框 (二) 3.flex布局 H5携程移动端头部个人中心和图标 (三) 4.flex布局 H5携程移动端 ...

  5. 微信小程序之 flex 布局最详细讲解 !!!

    小程序 flex 布局快速入门 小程序 flex 布局实现 一.view 默认布局 1.1 flex 布局原理 1.2 flex 父项常见属性 二.使用 flex 设置水平弹性布局 2.1 Flex ...

  6. 使用 Github Pages 和 Hexo 搭建自己的独立博客【超级详细的小白教程】

    欢迎关注我的专栏:<个人博客搭建:Hexo+Github Pages>,从搭建到美化一条龙,帮你解决 Hexo 常见问题! 推荐阅读:<Hexo 博客优化之博客美化系列(持续更新)& ...

  7. 【超级详细的小白教程】Hexo 搭建自己的博客

    – 前言 这是一篇有关如何使用 Github Pages 和 Hexo 搭建属于自己独立博客的详尽教程,本人是软件工程专业本科生,目前只学习了C和C++编程语言,对网站开发的有关知识几乎为零,这也是我 ...

  8. 使用Github Pages和Hexo搭建自己的独立博客【超级详细的小白教程】

    文章目录 ● 前言 ● 入门 ● 安装 Node.js ● 安装 Git • 检验Git是否安装成功 ● 安装Hexo • Hexo 初始化配置 ● 本地查看效果 ● 将博客部署到 Github Pa ...

  9. 什么?你还不会Redis?超级详细最新Redis教程

    文章目录 NoSQL的特点 NoSQL的四大分类 Redis入门 概述 Linux安装 测试性能 基础知识 五大数据类型 Redis-Key String(字符串) List(列表) Set(集合) ...

最新文章

  1. windows7下java配置环境
  2. Swift 3.0封装 URLSession 的GET/SET方法代替 Alamofire
  3. 什么命令看服务器系统,查看linux系统版本可以使用什么命令_网站服务器运行维护...
  4. struts struts.xml
  5. java restful项目打包_66-JT项目04(项目打包发布/JSON/项目业务)
  6. ibatis动态的传入表名、字段名
  7. 从入门到入土:[SEED-Lab]MD5碰撞试验|MD5collgen实验|linux|Ubuntu|MD5 Collision Attack Lab|详细讲解
  8. Mapreduce和yarn-内存设置
  9. 20145321 实验三实验报告
  10. loadGrid layui
  11. 如何在论坛里提高自己的从业水平
  12. 关于安全域的划分与风险管理
  13. 黑石董事长:我今生所有的经验,总结起来,不过这54条!
  14. Web 前端面试题总结
  15. python写excel文件出错_Python代码导致excel文件损坏。如何纠正这一点?
  16. 网络工程师模拟测试题
  17. 【综合类型第 10 篇】什么是时间戳
  18. 身份证号码验证--C/C++ 实现
  19. 五分钟学后端技术:一篇文章告诉你如何学习云计算!
  20. 华清远见网络编程学习总结

热门文章

  1. Classifier-Guidance 和 Classifier-Free
  2. python多线程编程模块不包括_python 学习_第四模块 并发编程(多线程)
  3. date命令+反向单引号:日期转换成Unix时间戳
  4. 桌面图标不能正常显示的解决办法
  5. 势如破竹的AMD,正在下一盘怎样的大棋?
  6. python输出二进制数_Python二进制表示和位操作
  7. 老外对我说oracle,老外对你说“quite good”是在夸你?别傻了,理解错了真尴尬!...
  8. dolphinscheduler-2.0.3
  9. 机器学习-问答题准备(英文)-更新中
  10. 视频跟踪常用到的数据库