博客列表 >flex布局常用属性

flex布局常用属性

leverWang
leverWang原创
2020年06月23日 18:07:591029浏览

flex 布局常用属性

属性 描述
flex-direction 主轴的方向(子元素的排列方向),row(默认值)column(主轴为垂直方向)
flex-wrap 主轴上子元素是否换行 ,nowrap(默认):不换行。wrap:换行
justify-content 主轴上子元素的排列方式
flex-flow flex-direction属性和flex-wrap属性的简写形式,默认值为row nowrap
order 定义项目的排列顺序。数值越小,排列越靠前,默认为0。

justify-content属性效果演示

  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>Document</title>
  7. <style>
  8. .container {
  9. width: 600px;
  10. height: 300px;
  11. background-color: pink;
  12. /* 设置为flex布局后 子元素的float、clear、vertical-align失效 */
  13. display: flex;
  14. /* 设置主轴方向 默认为row 元素按X轴方向排列 */
  15. flex-direction: row;
  16. /* 设置主轴方向为column 元素按Y轴方向排列 */
  17. /* flex-direction: column; */
  18. /* 设置主轴上子元素的排列方式 */
  19. justify-content: space-between;
  20. /* 设置主轴上子元素是否换行,默认不换行,不换行的情况下如果子元素超出父级则缩放子元素*/
  21. flex-wrap: nowrap;
  22. }
  23. .container>.item {
  24. width: 150px;
  25. height: 100px;
  26. background-color: blueviolet;
  27. color: #fff;
  28. font-size: 2rem;
  29. }
  30. </style>
  31. </head>
  32. <body>
  33. <div class="container">
  34. <span class="item">1</span>
  35. <span class="item">2</span>
  36. <span class="item">3</span>
  37. <span class="item">4</span>
  38. </div>
  39. </body>
  40. </html>

order属性效果演示

  1. <style>
  2. .container {
  3. width: 600px;
  4. height: 300px;
  5. background-color: pink;
  6. /* 设置为flex布局后 子元素的float、clear、vertical-align失效 */
  7. display: flex;
  8. /* 设置主轴方向 默认为row 元素按X轴方向排列 */
  9. flex-direction: row;
  10. /* 设置主轴方向为column 元素按Y轴方向排列 */
  11. /* flex-direction: column; */
  12. /* 设置主轴上子元素的排列方式 */
  13. justify-content: space-between;
  14. /* 设置主轴上子元素是否换行,默认不换行,不换行的情况下如果子元素超出父级则缩放子元素*/
  15. flex-wrap: nowrap;
  16. }
  17. .container>.item {
  18. width: 150px;
  19. height: 100px;
  20. background-color: blueviolet;
  21. color: #fff;
  22. font-size: 2rem;
  23. }
  24. /* 定义子元素的排列顺序,数字越小越靠前 */
  25. .item:first-of-type {
  26. order: 1;
  27. background: lightskyblue;
  28. }
  29. .item:nth-of-type(2) {
  30. order: 4;
  31. background: lightgreen;
  32. }
  33. .item:nth-of-type(3) {
  34. order: 3;
  35. background: lightslategrey;
  36. }
  37. .item:last-of-type {
  38. order: 2;
  39. background: rgb(22, 129, 0);
  40. }
  41. </style>
  42. <div class="container">
  43. <span class="item">1</span>
  44. <span class="item">2</span>
  45. <span class="item">3</span>
  46. <span class="item">4</span>
  47. </div>

基于浮动实现二列布局

  1. <style>
  2. * {
  3. padding: 0;
  4. margin: 0;
  5. box-sizing: border-box;
  6. }
  7. header,
  8. footer {
  9. width: 100%;
  10. height: 80px;
  11. background-color: rgb(0, 107, 0);
  12. }
  13. /* 基于浮动实现 */
  14. .wrap {
  15. /* 防止塌陷 */
  16. overflow: hidden;
  17. width: 1200px;
  18. margin: auto;
  19. }
  20. /* 设置子元素左浮动 */
  21. aside {
  22. background: maroon;
  23. float: left;
  24. width: 20%;
  25. min-height: 500px;
  26. }
  27. /* 设置子元素右浮动 */
  28. main {
  29. background: rgb(0, 99, 145);
  30. float: right;
  31. width: 75%;
  32. min-height: 500px;
  33. }
  34. </style>
  35. <header></header>
  36. <div class="wrap">
  37. <aside>左侧</aside>
  38. <main>主体</main>
  39. </div>
  40. <footer></footer>

基于定位实现二列布局

  1. <style>
  2. * {
  3. padding: 0;
  4. margin: 0;
  5. box-sizing: border-box;
  6. }
  7. header,
  8. footer {
  9. width: 100%;
  10. height: 80px;
  11. background-color: rgb(0, 107, 0);
  12. }
  13. /* 基于浮动实现 */
  14. .wrap {
  15. /* 防止塌陷 */
  16. overflow: hidden;
  17. width: 1200px;
  18. margin: auto;
  19. min-height: 500px;
  20. /* 定位父级 */
  21. position: relative;
  22. }
  23. /* 设置子元素绝对定位位置 */
  24. aside {
  25. background: maroon;
  26. position: absolute;
  27. width: 20%;
  28. /* 继承父级高度 */
  29. min-height: inherit;
  30. left: 0;
  31. }
  32. /* 设置子元素右浮动 */
  33. main {
  34. background: rgb(0, 99, 145);
  35. float: right;
  36. width: 75%;
  37. /* 继承父级高度 */
  38. min-height: inherit;
  39. position: absolute;
  40. right: 0;
  41. }
  42. </style>
  43. <header></header>
  44. <div class="wrap">
  45. <aside>左侧</aside>
  46. <main>主体</main>
  47. </div>
  48. <footer></footer>
声明:本文内容转载自脚本之家,由网友自发贡献,版权归原作者所有,如您发现涉嫌抄袭侵权,请联系admin@php.cn 核实处理。
全部评论
文明上网理性发言,请遵守新闻评论服务协议