• HTML+CSS之弹性布局


    本文主要介绍网页布局中弹性布局的使用。使用该布局,核心在于把握其中各个属性的含义及用法。各属性如下所示:

    1.flex-direction

    flex-direction设置主轴的方向,默认为x轴方向

    2.flex-wrap

    flex-wrap设置元素排列是否换行:

    设置为nowrap时,元素不换行,通过justify-content排列主轴的元素,通过align-items排列次轴的元素。(默认值)

    设置为wrap时,元素换行,通过justify-content排列主轴的元素,通过align-content排列次轴的元素。若未设置align-content的值,则可以使用align-items排列次轴的元素。注意:利用align-items排列元素时,后续可使用align-left单独定义某个元素的排列方式。

    3.justify-content

    属性取值如下:

    center:居中对齐

    flex-start:取决于主轴方向的设置,起始位置对齐

    flex-end:取决于主轴方向的设置,结束位置对齐

    space-between:元素左右贴边,距离相等

    space-around:左右元素距左右侧的距离为x,中间元素相距2x,总体距离和为空白区域

    space-evenly:元素距左右侧及元素之间的距离均分空白区域

    4.align-content

    同justify-content的属性类似,无space-evenly的取值。另外,属性可取值为stretch,为默认值。元素会由上或左进行排列(取决于主轴方向),填充整个区域

    5.align-items

    同justify-content的属性类似,无space系列属性。另外,属性可取值为stretch,还可取值为baseline:

    代码如下:

    1. <!DOCTYPE html>
    2. <html lang="en">
    3. <head>
    4. <meta charset="UTF-8">
    5. <meta http-equiv="X-UA-Compatible" content="IE=edge">
    6. <meta name="viewport" content="width=device-width, initial-scale=1.0">
    7. <title>align-content属性</title>
    8. <style>
    9. #main {
    10. width: 500px;
    11. height: 500px;
    12. border: 1px solid #c3c3c3;
    13. display: flex;
    14. flex-wrap: wrap;
    15. justify-content: space-around;
    16. align-content: space-around;
    17. }
    18. #main div {
    19. width: 150px;
    20. height: 150px;
    21. line-height: 150px;
    22. font-size: 70px;
    23. text-align: center;
    24. color: #ffffff;
    25. }
    26. </style>
    27. </head>
    28. <body>
    29. <div id="main">
    30. <div style="background-color:coral;">1</div>
    31. <div style="background-color:lightblue;">2</div>
    32. <div style="background-color:pink;">3</div>
    33. <div style="background-color:#c8e42b;">4</div>
    34. <div style="background-color:#2abccf;">5</div>
    35. <div style="background-color:#3e2ecf;">6</div>
    36. <div style="background-color:#e93ee0;">7</div>
    37. <div style="background-color:#e96b17;">8</div>
    38. <div style="background-color:#ee2445;">9</div>
    39. </div>
    40. <div style="font-size: 35px;"> flex-direction属性设置主轴方向。<br><br>flex-wrap:<br><br>若为wrap,justify-content排主轴,align-content排次轴。<br><br> 若为nowrap,justify-content排主轴,align-items排次轴</div>
    41. </span>
    42. </body>
    43. </html>

    下面介绍一个案例,利用弹性布局实现下图的效果。

    代码如下:

    1. <!DOCTYPE html>
    2. <html lang="en">
    3. <head>
    4. <meta charset="UTF-8">
    5. <meta http-equiv="X-UA-Compatible" content="IE=edge">
    6. <meta name="viewport" content="width=device-width, initial-scale=1.0">
    7. <title>Document</title>
    8. <style>
    9. .f {
    10. width: 500px;
    11. height: 500px;
    12. background-color: skyblue;
    13. display: flex;
    14. justify-content: space-between;
    15. }
    16. .f div {
    17. height: 50px;
    18. width: 50px;
    19. border-radius: 50%;
    20. background-color: orange;
    21. }
    22. .f div:nth-child(2) {
    23. /* align-self设置元素单独的对齐方式 */
    24. align-self: flex-end;
    25. }
    26. </style>
    27. </head>
    28. <body>
    29. <div class="f">
    30. <div></div>
    31. <div></div>
    32. </div>
    33. </body>
    34. </html>

  • 相关阅读:
    【前端】使用json-server报错
    Java_封装
    高端品牌如何利用软文抓住顾客的心?
    ucOS-II在STM32F1移植
    安卓学习笔记5.3 按钮、图像视图与图像按钮
    FineReport数据图表制作-标签控件
    初探Golang语法巩固复习
    一、软件工程概述+练习题
    java中的MVC设计模式、模型层 model 主要处理数据、视图层 view 显示数据、控制层 controller 处理业务逻辑
    BigDecimal使用的时候需要注意什么?
  • 原文地址:https://blog.csdn.net/weixin_44827643/article/details/125622034