博客列表 >flex弹性盒子的使用

flex弹性盒子的使用

天涯
天涯原创
2020年06月25日 08:54:25735浏览

flex弹性盒子的使用

如何使用弹性盒子

CSS中使用display: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>flex实例</title>
  7. <style>
  8. .container {
  9. width: 300px;
  10. display: flex;
  11. }
  12. .container > .item {
  13. width: 60px;
  14. }
  15. </style>
  16. </head>
  17. <body>
  18. <div class="container">
  19. <div class="item">1</div>
  20. <div class="item">2</div>
  21. <div class="item">3</div>
  22. </div>
  23. </body>
  24. </html>

运行效果:
flex实例

flex属性

调整整体子元素的属性

  1. justify-content:控制所有项目在主轴上的对齐方式
    属性值:
    1. justify-content: flex-start; /*起点对齐*/
    2. justify-content: flex-end;/*结束对齐*/
    3. justify-content: center; /*居中对齐*/
    4. justify-content: space-between; /*两端对齐,中间剩余空间平均分配*/
    5. justify-content: space-around; /*分散对齐,项目两侧全部平均分配*/
    6. justify-content: space-evenly; /*分散对齐,剩余空间平均分配*/
  2. align-content:多行容器项目排列方式

    注意,使用多行容器前必须设置flex-wrap:wrap,意思是将弹性盒子设置为多行。

    1. align-content: stretch;/*默认,以元素自身宽度或高度以主轴顺序对齐,根据元素数量自动填满交叉轴空间*/
    2. align-content: flex-start;/*以主轴方向的起始位顺序对齐,忽略原元素交叉轴方向大小值,只取项目内容值的大小来显示项目*/
    3. align-content: flex-end;/*以主轴方向的结尾处开始前前对齐,忽略原元素交叉轴方向大小值*/
    4. align-content: center;/*以主轴方向排列,并以交叉轴方向居中对齐,忽略原元素交叉轴方向大小值*/
    5. /* 2. 容器剩余空间在所有项目“之间”的如何分配 ,将项目视为一个个独立的个体*/
    6. align-content: space-between;/*两端对齐,中间剩余空间平均分配*/
    7. align-content: space-around;/*分散对齐,项目两侧全部平均分配*/
    8. align-content: space-evenly;/*分散对齐,剩余空间平均分配*/
  3. align-items:交叉轴项目排列方式

    1. /* 项目在交叉轴上默认是自动伸缩的 */
    2. align-items: stretch;
    3. /* 项目在交叉轴起始位对齐排列 */
    4. align-items: flex-start;
    5. /* 项目在交叉轴结尾处对齐排列 */
    6. align-items: flex-end;
    7. /* 项目在交叉轴上居中 */
    8. align-items: center;
  4. order:控制项目顺序

    1. .container > .item:first-of-type {
    2. /* order: 将第一个项目移动到第三个项目的位置上 */
    3. order: 3;
    4. }

弹性盒子应用实例

  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. * {
  10. padding: 0;
  11. margin: 0;
  12. box-sizing: border-box;
  13. }
  14. a {
  15. text-decoration: none;
  16. color: #ccc;
  17. }
  18. nav {
  19. height: 40px;
  20. background-color: #333;
  21. padding: 0 50px;
  22. /* 转为弹性盒布局 */
  23. display: flex;
  24. }
  25. nav a {
  26. height: inherit;
  27. line-height: 40px;
  28. padding: 0 15px;
  29. }
  30. nav a:hover {
  31. background-color: seagreen;
  32. color: white;
  33. }
  34. /* 登录/注册放在最右边 */
  35. nav a:last-of-type {
  36. margin-left: auto;
  37. }
  38. </style>
  39. </head>
  40. <body>
  41. <header>
  42. <nav>
  43. <a href="">首页</a>
  44. <a href="">教学视频</a>
  45. <a href="">社区问答</a>
  46. <a href="">资源下载</a>
  47. <a href="">登录/注册</a>
  48. </nav>
  49. </header>
  50. </body>
  51. </html>

运行效果:
导航实例

声明:本文内容转载自脚本之家,由网友自发贡献,版权归原作者所有,如您发现涉嫌抄袭侵权,请联系admin@php.cn 核实处理。
全部评论
文明上网理性发言,请遵守新闻评论服务协议