Blogger Information
Blog 10
fans 0
comment 0
visits 8687
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template
flex弹性盒子的使用
天涯
Original
736 people have browsed it

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>

运行效果:
导航实例

Correcting teacher:天蓬老师天蓬老师

Correction status:qualified

Teacher's comments:注意属性分为容器和项目二类
Statement of this Website
The copyright of this blog article belongs to the blogger. Please specify the address when reprinting! If there is any infringement or violation of the law, please contact admin@php.cn Report processing!
All comments Speak rationally on civilized internet, please comply with News Comment Service Agreement
0 comments
Author's latest blog post