博主信息
小追
博文
13
粉丝
0
评论
0
访问量
4474
积分:0
P豆:26

flex学习一

2020年06月27日 14:18:32阅读数:226博客 / 小追/ PHP学习

flex弹性盒子学习一

话不多说,上代码:

1.flex单行容器

  1. <!DOCTYPE html>
  2. <html lang="en">
  3. <head>
  4. <meta charset="UTF-8">
  5. <meta name="viewport" content="width=device-width, initial-scale=1.0">
  6. <title>Flexbox弹性盒布局快速预览</title>
  7. <style>
  8. .container{
  9. width:800px;
  10. /* 转为flexbox弹性盒子 */
  11. /* 如果这个容器中的内容要使用弹性盒子布局,首先需要将这个容器转化为flex弹性盒子 */
  12. display:flex;
  13. }
  14. /* 只在一行显示flex:auto可以自动平均弹性项目大小 */
  15. .container>.item{
  16. /* 一但将父元素转换为弹性容器,容器内的子元素(子元素的子元素不行)就会自动成为弹性项目 */
  17. /* 不管这个项目标签之前是什么类型,统统转为行内块 */
  18. /* 行内块是一行内显示可以设置宽高 */
  19. flex:auto;
  20. /* width:60px;
  21. height:66px; */
  22. }
  23. </style>
  24. </head>
  25. <body>
  26. <!-- 快速实现.container>.item{$}*3 -->
  27. <div class="container">
  28. <div class="item">1</div>
  29. <div class="item">2</div>
  30. <div class="item">3</div>
  31. <div class="item">4</div>
  32. <div class="item">5</div>
  33. <div class="item">6</div>
  34. </div>
  35. </body>
  36. </html>

2.flex多行容器

  1. <!DOCTYPE html>
  2. <html lang="en">
  3. <head>
  4. <meta charset="UTF-8">
  5. <meta name="viewport" content="width=device-width, initial-scale=1.0">
  6. <title>Flexbox弹性盒多行容器</title>
  7. <style>
  8. .container{
  9. width: 600px;
  10. display:flex;
  11. }
  12. /* 多行的时候要计算弹性容器的宽度和弹性项目的宽度,留下剩余空间不好看 */
  13. .container>.item{
  14. flex:auto;
  15. width:150px;
  16. }
  17. .container{
  18. flex-wrap:wrap;
  19. }
  20. </style>
  21. </head>
  22. <body>
  23. <!-- 快速实现.container>.item{$}*3 -->
  24. <div class="container">
  25. <div class="item">1</div>
  26. <div class="item">2</div>
  27. <div class="item">3</div>
  28. <div class="item">4</div>
  29. <div class="item">5</div>
  30. <div class="item">6</div>
  31. </div>
  32. </body>
  33. </html>

3.flex单行容器项目对齐

  1. <!DOCTYPE html>
  2. <html lang="en">
  3. <head>
  4. <meta charset="UTF-8">
  5. <meta name="viewport" content="width=device-width, initial-scale=1.0">
  6. <title>单行容器的项目对齐</title>
  7. <style>
  8. .container{
  9. width:300px;
  10. display:flex;
  11. /* justify-content:设置容器中的剩余空间在所有项目之间的分配方案 */
  12. /* 1.容器剩余空间在所有项目两边如何分配,将所有项目视为一个整体 */
  13. /* 开头对齐 */
  14. justify-content:flex-start;
  15. /* 不建议向下面两种方式写 */
  16. /* justify-content:start; */
  17. /* justify-content:left; */
  18. /* 末尾对齐 */
  19. justify-content:flex-end;
  20. /* 中间对齐 */
  21. justify-content:center;
  22. /* 2.容器剩余空间在所有项目之间如何分配,将所有项目视为一个个的个体 */
  23. /* 两端对齐 */
  24. justify-content:space-between;
  25. /* 分散对齐 剩余空间在所有项目的两侧对齐*/
  26. justify-content:space-around;
  27. /* 平均分配 */
  28. justify-content:space-evenly;
  29. }
  30. .item{
  31. width:60px;
  32. }
  33. </style>
  34. </head>
  35. <body>
  36. <div class="container">
  37. <div class="item">1</div>
  38. <div class="item">2</div>
  39. <div class="item">3</div>
  40. </div>
  41. </body>
  42. </html>

4.flex多行容器项目水平对齐

  1. <!DOCTYPE html>
  2. <html lang="en">
  3. <head>
  4. <meta charset="UTF-8">
  5. <meta name="viewport" content="width=device-width, initial-scale=1.0">
  6. <title>多行容器的项目对齐主轴为水平时</title>
  7. <style>
  8. .container{
  9. width:300px;
  10. display:flex;
  11. flex-wrap:wrap;
  12. /* 多行容器要给一下高度 */
  13. height:150px;
  14. /* align-content:设置多行容器中项目的排列方式 */
  15. /* stretch默认值 */
  16. align-content:stretch;
  17. /* 1.容器剩余空间在所有项目两边如何分配,将所有项目视为一个整体 */
  18. /* 开头对齐 */
  19. align-content:flex-start;
  20. /* 末尾对齐 */
  21. align-content:flex-end;
  22. /* 中间对齐 */
  23. align-content:center;
  24. /* 2.容器剩余空间在所有项目之间如何分配,将所有项目视为一个个的个体 */
  25. /* 两端对齐 */
  26. align-content:space-between;
  27. /* 分散对齐 剩余空间在所有项目的两侧对齐*/
  28. align-content:space-around;
  29. /* 平均分配 */
  30. align-content:space-evenly;
  31. }
  32. .item{
  33. width:60px;
  34. }
  35. </style>
  36. </head>
  37. <body>
  38. <div class="container">
  39. <div class="item">1</div>
  40. <div class="item">2</div>
  41. <div class="item">3</div>
  42. <div class="item">4</div>
  43. <div class="item">5</div>
  44. <div class="item">6</div>
  45. <div class="item">7</div>
  46. <div class="item">8</div>
  47. </div>
  48. </body>
  49. </html>

5.flex多行容器垂直对齐

  1. <!DOCTYPE html>
  2. <html lang="en">
  3. <head>
  4. <meta charset="UTF-8">
  5. <meta name="viewport" content="width=device-width, initial-scale=1.0">
  6. <title>多行容器的项目对齐主轴为垂直时</title>
  7. <style>
  8. .container{
  9. width:300px;
  10. height:150px;
  11. display:flex;
  12. flex-direction:row;
  13. flex-direction:column;
  14. /* 项目两边分配 */
  15. justify-content:flex-start;
  16. justify-content:flex-end;
  17. justify-content:center;
  18. /* 项目之间对齐 */
  19. justify-content:space-between;
  20. justify-content:space-around;
  21. justify-content:space-evenly;
  22. }
  23. </style>
  24. </head>
  25. <body>
  26. <div class="container">
  27. <div class="item">1</div>
  28. <div class="item">2</div>
  29. <div class="item">3</div>
  30. </div>
  31. </body>
  32. </html>

6.flex项目在交叉轴排列

  1. <!DOCTYPE html>
  2. <html lang="en">
  3. <head>
  4. <meta charset="UTF-8">
  5. <meta name="viewport" content="width=device-width, initial-scale=1.0">
  6. <title>项目在交叉轴排列</title>
  7. <style>
  8. .container{
  9. width:300px;
  10. display:flex;
  11. height:200px;
  12. /* 默认项目时在交叉轴自动拉伸的 */
  13. align-items:stretch;
  14. align-items:flex-start;
  15. align-items:flex-end;
  16. align-items:center;
  17. }
  18. .item{
  19. width:60px;
  20. }
  21. </style>
  22. </head>
  23. <body>
  24. <div class="container">
  25. <div class="item">1</div>
  26. <div class="item">2</div>
  27. <div class="item">3</div>
  28. </div>
  29. </body>
  30. </html>

7.flex主轴方向与项目排列的简写

  1. <!DOCTYPE html>
  2. <html lang="en">
  3. <head>
  4. <meta charset="UTF-8">
  5. <meta name="viewport" content="width=device-width, initial-scale=1.0">
  6. <title>主轴方向与项目排列的简写</title>
  7. <style>
  8. .container{
  9. width:300px;
  10. display:flex;
  11. height:50px;
  12. /* 默认值就不用写出来了
  13. flex-direction:row;
  14. flex-wrap:nowrap;
  15. 这一行代码代替上面两行
  16. flex-flow:row nowrap; */
  17. flex-flow:column wrap;
  18. }
  19. .item{
  20. width:60px;
  21. }
  22. </style>
  23. </head>
  24. <body>
  25. <div class="container">
  26. <div class="item">1</div>
  27. <div class="item">2</div>
  28. <div class="item">3</div>
  29. <div class="item">4</div>
  30. <div class="item">5</div>
  31. </div>
  32. </body>
  33. </html>

8.用felx快速写一个主导航

  1. <!DOCTYPE html>
  2. <html lang="en">
  3. <head>
  4. <meta charset="UTF-8">
  5. <meta name="viewport" content="width=device-width, initial-scale=1.0">
  6. <title>flex弹性容器快速撸一个主导航</title>
  7. <style>
  8. *{
  9. margin:0;
  10. padding:0;
  11. box-sizing:border-box;
  12. }
  13. a{
  14. text-decoration:none;
  15. color:#ccc;
  16. }
  17. nav{
  18. height:40px;
  19. background-color:#333;
  20. padding:0 50px;
  21. display:flex;
  22. }
  23. nav a{
  24. height:inherit;
  25. line-height:40px;
  26. padding:0 15px;
  27. }
  28. nav a:hover{
  29. background-color:lightslategray;
  30. color:white;
  31. }
  32. nav a:last-of-type{
  33. margin-left:auto;
  34. }
  35. </style>
  36. </head>
  37. <body>
  38. <header>
  39. <nav>
  40. <a href="">首页</a>
  41. <a href="">教学视频</a>
  42. <a href="">社区问答</a>
  43. <a href="">资源下载</a>
  44. <a href>登录/注册</a>
  45. </nav>
  46. </header>
  47. </body>
  48. </html>

效果展示:

9.flex项目属性order控制项目顺序

  1. <!DOCTYPE html>
  2. <html lang="en">
  3. <head>
  4. <meta charset="UTF-8">
  5. <meta name="viewport" content="width=device-width, initial-scale=1.0">
  6. <title>项目属性-order控制项目顺序</title>
  7. <style>
  8. .container{
  9. width:300px;
  10. display:flex;
  11. }
  12. .container>.item{
  13. width:60px;
  14. }
  15. .container>.item:first-of-type{
  16. /* order默认值是0 */
  17. order:3;
  18. }
  19. .container>.item:last-of-type{
  20. order:5;
  21. }
  22. </style>
  23. </head>
  24. <body>
  25. <div class="container">
  26. <div class="item">1</div>
  27. <div class="item">2</div>
  28. <div class="item">3</div>
  29. </div>
  30. </body>
  31. </html>

10.order实例

  1. <!DOCTYPE html>
  2. <html lang="en">
  3. <head>
  4. <meta charset="UTF-8">
  5. <meta name="viewport" content="width=device-width, initial-scale=1.0">
  6. <title>order小案列,用户调整元素顺序</title>
  7. <style>
  8. .container{
  9. width:300px;
  10. display:flex;
  11. flex-direction:column;
  12. }
  13. .container>.item{
  14. border:1px solid #000;
  15. padding:10px;
  16. display:flex;
  17. position:relative;
  18. }
  19. .container>.item>div{
  20. display:flex;
  21. }
  22. </style>
  23. </head>
  24. <body>
  25. <div class="container">
  26. <div class="item">imag-1<div><button onclick="up(this)">向上</button><button onclick="down(this)">向下</button></div></div>
  27. <div class="item">imag-2<div><button onclick="up(this)">向上</button><button onclick="down(this)">向下</button></div></div>
  28. <div class="item">imag-3<div><button onclick="up(this)">向上</button><button onclick="down(this)">向下</button></div></div>
  29. </div>
  30. </body>
  31. <script>
  32. let up=(ele)=>(ele.offsetParent.style.order-=1);
  33. let down=(ele)=>(ele.offsetParent.style.order+=1);
  34. </script>
  35. </html>

效果展示:

批改老师:天蓬老师天蓬老师

批改状态:合格

老师批语:一旦习惯了flex, 传统的float+position都不想碰了

版权申明:本博文版权归博主所有,转载请注明地址!如有侵权、违法,请联系admin@php.cn举报处理!

全部评论

文明上网理性发言,请遵守新闻评论服务协议

条评论
  • 这篇文章主要介绍了解决flex布局space-between最后行左对齐的方法,文中通过示例代码介绍的非常详细,对大家的或者工作具有定的参考价值,需要的朋友们下面随着小编来
    Vue.js教程栏目介绍规划和了解 Vue.js,可以起来
    深度是人工智能的方法。它的最终目标是让机器能够像人样具有分析能力,能够识别文字、图像和声音等数据。
    web编程的方法:1、html和css;2、javascript;3、了解web服务器;4、门服务器端脚本语言;5、数据库及SQL语法;6、web框架。
    如何PHP?本篇文章给大家分享下Php路线图。有定的参考价值,有需要的朋友可以参考下,希望对大家有所帮助。
    下面由composer教程栏目给大家介绍composer的和理解,希望对需要的朋友有所帮助!
    因项目需要,正在如何部署IIS服务,发布网站,将遇到的问题记录下,本栏目将和大家IIS部署,发布网站,来看看吧。
    本文讲述了在php30天里,到的知识,适合小白和参考。
    机器是人工智能的个子集,它包括使计算机能够从数据中找出问题并交付人工智能应用程序的技术。而深度是机器个子集,它使计算机能够解决更复杂的问题。
    本栏目介绍swoole如何异步Mysql,有需要的朋友可以看看,了解了解,

    2020-06-20

    1158

    golang的方法:首先必须完相关【 Go Programming】的语言;然后利用Go语言培训社区提供的资源,强化实践;最后反过来研究关于计算机系统的理论教材,对系统知识再进行了解。
    python视频教程栏目为大家介绍如何使用Jupyter NotebookPython,起来看吧。
    mysql是个长期的过程,本栏目介绍mysql的前期整理,有需要的朋友可以看看,了解了解。
    PHP有半个月了。每天都要打代码and写笔记。过C和Java,在PHP的过程中比较顺利吧(^-^)代码打得越多,运行得越多,慢慢得会对程序理解得越深。下面就讲讲我PHP的心得。
    这篇文章主要介绍了idea2021手动安装python插件的实现方法,文中通过示例代码介绍的非常详细,对大家的或者工作具有定的参考价值,需要的朋友们下面随着小编来吧。
    go语言适合新手。Go语言语法简单,包含了类C语法;因为Go语言容易,所以个普通的大生花几个星期就能写出来可以上手的、高性能的应用。
    如果新手想着手mysql,这里给广大新手个建议,有利于的系统化。下面就让我们起来看看吧。
    机器是专门研究计算机怎样模拟或实现人类的行为,以获取新的知识或技能,重新组织已有的知识结构使之不断改善自身的性能。机器能解决的问题:1、分类问题;2、回归问题;3、聚类问题。
    前几天,我写了很多关于PHP数组系列文章,相信或多或少都对大家有所帮助。那么今天这篇文章就来给大家将之前所有数组系列的文章进行个大汇总,方便大家进行,欢迎大家收藏分享~
    这段时间写了很多关于PHP循环的系列文章,带大家了解了使用这些循环语句怎么解决些实际问题,相信多多少少对大家都会有所帮助。