Blogger Information
Blog 70
fans 4
comment 5
visits 103780
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template
flex布局:flex容器中的四个属性的功能,参数,以及作用
JiaJieChen
Original
2665 people have browsed it

flex容器中的四个属性的功能/参数

flex容器是具有:display:flex的属性元素
语法定义

       
  1. type="text/css">
  2. #box{
  3. display:flex;
  4. }
  5. id="box">
  • 1.主轴方向与换行方式

    元素 属性 含义
    flex-flow row nowrap 默认的,主轴水平方向排列,不换行
    flex-flow row wrap 主轴水平方向排列,进行换行
    flex-flow column nowrap 主轴垂直方向排列,不换行
    flex-flow column wrap 主轴垂直方向排列,进行换行
    ① flex-flow:row nowrap 演示

    大家可以看到flex-flow:row nowrap参数,只要里面项目增加,里面原本的项目宽度就会被压缩,不会进行换行。

    ② flex-flow:row wrap 演示

    大家可以看到flex-flow:row wrap参数,里面的项目增加了只要超过了原始设置好的宽度,那么这些项目就会进行系统自动换行,移植到下面。

    ③ flex-flow:column nowrap 演示

    大家可以看到flex-flow:column nowrap参数,是垂直方向排列,里面项目增加,里面原本的项目宽度就会被压缩,不会进行换行。

    ④ flex-flow:column wrap 演示

    大家可以看到flex-flow:column wrap参数,是垂直排列,会进行换行,原理都是一样的,只是排列方式不一样。

    2.项目在主轴上的对齐方式

    元素 属性 含义
    justify-content flex-start 默认起始线
    justify-content flex-end 终止线
    justify-content center 居中
    justify-content space-between 两端对齐
    justify-content space-around 分散对齐
    justify-content space-evenly 平均对齐
    ① justify-content:flex-start 演示

    默认起始线,没有变化

    ② justify-content:flex-end 演示

    大家可以看到justify-content:flex-end参数,把项目移动到了水平排列的终止线,也就是最底部。

    ③ justify-content:center 演示

    大家可以看到justify-content:center参数,把项目移动到了水平线的中间部位,把项目居中了!

    ④ justify-content:space-between 演示

    大家可以看到justify-space-between参数,把项目进行了两端对齐,除了最左边和最右边的外边距,其他的外边距大小都是一致的。

    ⑤ justify-content:space-around 演示

    大家可以看到justify-space-around参数,把项目进行了分散对齐。

    ⑥ justify-content:space-evenly 演示

    大家可以看到justify-space-space-evenly参数,把项目进行了平均对齐,左右的外边距都是一样的。

    3.项目在交叉轴的对齐方式

    元素 属性 含义
    align-items stretch 默认拉伸
    align-items flex-start 起始线
    align-items flex-end 终止线
    align-items center 居中
    ① align-items stretch 演示

    大家可以看到align-items stretch参数,默认在垂直方向是拉伸的。

    ② align-items flex-start 演示

    大家可以看到align-items flex-start参数,上面可以看到垂直方向默认是拉伸的,用flex-start把项目的垂直方向设置在起始线,可以看到变短了。

    ③ align-items flex-end 演示

    大家可以看到align-items flex-end参数,把项目设置在垂直方向终点线上,也就是最下面。

    ④ align-items center 演示

    大家可以看到align-items center参数,把项目定位在了垂直方向的中间部位,把项目居中了。

    4.项目在多行容器交叉轴上的对齐方式

    元素 属性 含义
    align-content flex-start 起始线
    align-content flex-end 终止线
    align-content stretch 默认拉伸
    align-content center 居中
    ① align-content flex-start 演示

    大家可以看到align-content flex-start参数,把多行项目都定位到了起始线上。下面几个参数原理都一样,就不一一演示了,下面来讲一下flex让块级元素居中的用法。

    代码块

           
    1. lang="en">
    2. charset="UTF-8"/>
    3. http-equiv="X-UA-Compatible"content="IE=edge"/>
    4. name="viewport"content="width=device-width, initial-scale=1.0"/>
    5. </span><span class="pln">flex容器中的四个属性的功能,参数,以及作用</span><span class="tag">
    6. type="text/css">
    7. *{
    8. padding:0;
    9. margin:0;
    10. box-sizing:border-box;
    11. }
    12. /* 设置元素html字体为10px */
    13. :root{
    14. font-size:10px;
    15. }
    16. /* body字体为16px */
    17. body{
    18. font-size:1.6rem;
    19. }
    20. /* 定义一个flex容器
    21. #box {
    22. border: 1px solid;
    23. width: 30em;
    24. height: 30em;
    25. 转变为flex容器
    26. display: flex;
    27. 设置为水平方向排列,不换行元素
    28. flex-flow: row nowrap;
    29. }*/
    30. /* #box {
    31. border: 1px solid;
    32. width: 30em;
    33. height: 30em;
    34. display: flex;
    35. 设置为水平方向排列,会进行换行
    36. flex-flow: row wrap;
    37. } */
    38. /* #box {
    39. width: 30em;
    40. height: 30em;
    41. display: flex;
    42. 设置为垂直方向排列,不会进行换行
    43. flex-flow: column nowrap;
    44. } */
    45. /* #box {
    46. width: 30em;
    47. height: 30em;
    48. display: flex;
    49. 设置为垂直方向排列,会进行换行
    50. flex-flow: column wrap;
    51. } */
    52. /* #box {
    53. width: 30em;
    54. height: 30em;
    55. display: flex;
    56. 设置项目在主轴上的对齐方式,默认起始线。
    57. justify-content: flex-start;
    58. } */
    59. /* #box {
    60. width: 30em;
    61. height: 30em;
    62. display: flex;
    63. 设置项目在主轴上的对齐方式,终止线。
    64. justify-content: flex-end;
    65. } */
    66. /* #box {
    67. width: 30em;
    68. height: 30em;
    69. display: flex;
    70. 设置项目在主轴上的对齐方式,居中。
    71. justify-content: center;
    72. } */
    73. /* #box {
    74. width: 30em;
    75. height: 30em;
    76. display: flex;
    77. 设置项目在主轴上的对齐方式,两端对齐。
    78. justify-content: space-between;
    79. } */
    80. /* #box {
    81. width: 30em;
    82. height: 30em;
    83. display: flex;
    84. 设置项目在主轴上的对齐方式,分散对齐。
    85. justify-content: space-around;
    86. } */
    87. /* #box {
    88. width: 30em;
    89. height: 30em;
    90. display: flex;
    91. 设置项目在主轴上的对齐方式,平均对齐。
    92. justify-content: space-evenly;
    93. } */
    94. /*
    95. #box {
    96. width: 30em;
    97. height: 30em;
    98. display: flex;
    99. 设置项目在交叉轴的对齐方式,默认拉伸。
    100. align-items: stretch;
    101. } */
    102. /* #box {
    103. width: 30em;
    104. height: 30em;
    105. display: flex;
    106. 设置项目在交叉轴的对齐方式,起始线。
    107. align-items: flex-start;
    108. } */
    109. /* #box {
    110. width: 30em;
    111. height: 30em;
    112. display: flex;
    113. 设置项目在交叉轴的对齐方式,终止线。
    114. align-items: flex-end;
    115. } */
    116. /* #box {
    117. width: 30em;
    118. height: 30em;
    119. display: flex;
    120. 设置项目在交叉轴的对齐方式,居中。
    121. align-items: center;
    122. } */
    123. #box {
    124. width:30em;
    125. height:30em;
    126. display:flex;
    127. /* 设置项目在多行容器交叉轴上的对齐方式,起始线。 */
    128. flex-flow:row wrap;
    129. align-content:flex-start;
    130. }
    131. #box > .boxder {
    132. border:1pxsolid;
    133. background:lightgreen;
    134. width:5em;
    135. height:5em;
    136. }
    137. id="box">
    138. class="boxder">项目1
  • class="boxder">项目2
  • class="boxder">项目3
  • class="boxder">项目4
  • class="boxder">项目5
  • class="boxder">项目6
  • class="boxder">项目7
  • class="boxder">项目8
  • class="boxder">项目9
  • class="boxder">项目10
  • flex简单实现让项目居中

    怎么样很简单吧?几行代码搞定。不像之前的定位要设置很多参数,使用flex布局会更加的简洁方便!

    代码块

           
    1. lang="en">
    2. charset="UTF-8"/>
    3. http-equiv="X-UA-Compatible"content="IE=edge"/>
    4. name="viewport"content="width=device-width, initial-scale=1.0"/>
    5. </span><span class="pln">flex简单实现让项目居中</span><span class="tag">
    6. type="text/css">
    7. *{
    8. box-sizing:border-box;
    9. }
    10. #box1 {
    11. border:1pxsolid;
    12. width:25em;
    13. height:25em;
    14. background:lightpink;
    15. /* 设为flex容器 */
    16. display:flex;
    17. /* 让这个项目在水平线上居中 */
    18. justify-content:center;
    19. /* 让这个项目在交叉轴上居中 */
    20. align-items:center;
    21. }
    22. #box2 {
    23. border:1pxsolid;
    24. width:15em;
    25. height:15em;
    26. background:limegreen;
    27. }
    28. id="box1">
    29. id="box2">
    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 withNews Comment Service Agreement
    0 comments
    Author's latest blog post
    About us Disclaimer Sitemap
    php.cn:Public welfare online PHP training,Help PHP learners grow quickly!