Blogger Information
Blog 27
fans 0
comment 0
visits 19018
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template
Flex 项目属性演示
茂林
Original
864 people have browsed it

Flex 项目属性示例

  1. flex: 项目在”主轴”上的缩放比例与宽度
  2. place-self 某项目在”交叉轴”上的排列方式
  3. order: 项目在”主轴”上的排列顺序

1. flex: 项目在”主轴”上的缩放比例与宽度

设置了弹性项目如何增大或缩小以适应其弹性容器中可用的空间,有三个值

第1:放大比例,默认不放大 ,用0代表, 放大用1代表
第2:允许收缩 默认允许自动收缩 用1 代表, 不允许自动收缩 用 0代表
第3:主轴的空间(宽度) auto 表示
默认值:不放大 ,允许收缩 , 自动分配
常用的用法 flex:1 ;等同于flex后面的2个值是默认值 flex:auto ;

1.1 flex:0 1 auto 语法糖 flex:initial

  1. <body>
  2. <ul class="container">
  3. <li class="items">item1</li>
  4. <li class="items">item2</li>
  5. <li class="items">item3</li>
  6. </ul>
  7. </body>
  8. <style>
  9. * {
  10. margin: 0;
  11. padding: 0;
  12. box-sizing: border-box;
  13. }
  14. ul {
  15. width: 450px;
  16. height: 100px;
  17. }
  18. ul li {
  19. background-color: lightgreen;
  20. border: 1px solid black;
  21. list-style: none;
  22. /* height: 50px; */
  23. }
  24. .container {
  25. display: flex;
  26. flex-flow: row nowrap;
  27. }
  28. .container > .items {
  29. width: 150px;
  30. width: 250px;
  31. /* flex属性 有三值
  32. 1,放大比例 0代表不放大,1代表可放大,默认不放大
  33. 2,允许收缩 0代表不收缩 ,1代表允许收缩,默认允许收缩
  34. 3,主轴空间(宽度) auto代表自动分配
  35. */
  36. flex: 0 1 auto; /* 默认是不放大,但可以自动收缩 */
  37. /*语法糖 */
  38. /*flex:initial; */
  39. }
  40. </style>

1.2 flex:1 1 auto 语法糖 flex:auto

允许放大,允许收缩 完全响应式

  1. <body>
  2. <ul class="container">
  3. <li class="items">item1</li>
  4. <li class="items">item2</li>
  5. <li class="items">item3</li>
  6. </ul>
  7. </body>
  8. <style>
  9. * {
  10. margin: 0;
  11. padding: 0;
  12. box-sizing: border-box;
  13. }
  14. .container {
  15. /* width: 450px;*/
  16. height: 100px;
  17. }
  18. ul li {
  19. background-color: lightgreen;
  20. border: 1px solid black;
  21. list-style: none;
  22. /* height: 50px; */
  23. }
  24. .container {
  25. display: flex;
  26. flex-flow: row nowrap;
  27. }
  28. .container > .items {
  29. /* width: 150px; */
  30. /* width: 250px; */
  31. /* flex属性 有三值
  32. 1,放大比例 0代表不放大,1代表可放大,默认不放大
  33. 2,允许收缩 0代表不收缩 ,1代表允许收缩,默认允许收缩
  34. 3,主轴空间(宽度) auto代表自动分配,分配的宽度有效
  35. */
  36. /* 2. 完全响应式,允许放大和自动收缩 */
  37. flex: 1 1 auto;
  38. /* 语法糖 */
  39. /* flex: auto; */
  40. }
  41. </style>

1.3flex:0 0 auto 语法糖 flex:none

不允许放大,也不允许收缩,失去了响应式,一般在电脑上浏览的页面使用

  1. <body>
  2. <ul class="container">
  3. <li class="items">item1</li>
  4. <li class="items">item2</li>
  5. <li class="items">item3</li>
  6. </ul>
  7. </body>
  8. <style>
  9. * {
  10. margin: 0;
  11. padding: 0;
  12. box-sizing: border-box;
  13. }
  14. .container {
  15. /* width: 450px;*/
  16. height: 100px;
  17. }
  18. ul li {
  19. background-color: lightgreen;
  20. border: 1px solid black;
  21. list-style: none;
  22. /* height: 50px; */
  23. }
  24. .container {
  25. display: flex;
  26. flex-flow: row nowrap;
  27. }
  28. .container > .items {
  29. /* width: 150px; */
  30. /* width: 250px; */
  31. /* flex属性 有三值
  32. 1,放大比例 0代表不放大,1代表可放大,默认不放大
  33. 2,允许收缩 0代表不收缩 ,1代表允许收缩,默认允许收缩
  34. 3,主轴空间(宽度) auto代表自动分配,分配的宽度有效
  35. */
  36. /* 3. 无响应式,允许放大和自动收缩 */
  37. flex: 1 1 auto;
  38. /* 语法糖 */
  39. /* flex: auto; */
  40. }
  41. </style>

1.4 常用的用法 flex:1 ;等同于flex后面的2个值是默认值 flex:auto ;

第1值:是一个比例值,意思是将按照flex所有项目按比例划分,如值项目属性的值为1,就是按照项目容器的总宽度中每个项目的宽度一样。除了设置一样的比例,也能够设置不一样的比例。

  1. <body>
  2. <ul class="container">
  3. <li class="items">item1</li>
  4. <li class="items">item2</li>
  5. <li class="items">item3</li>
  6. </ul>
  7. </body>
  8. <style>
  9. * {
  10. margin: 0;
  11. padding: 0;
  12. box-sizing: border-box;
  13. }
  14. .container {
  15. /* width: 450px; */
  16. height: 100px;
  17. }
  18. ul li {
  19. background-color: lightgreen;
  20. border: 1px solid black;
  21. list-style: none;
  22. /* height: 50px; */
  23. }
  24. .container {
  25. display: flex;
  26. flex-flow: row nowrap;
  27. }
  28. .container > .items:first-child,
  29. .container > .items:last-child {
  30. background-color: yellow;
  31. flex: 1;
  32. }
  33. .container > .items:first-child + * {
  34. flex: 3;
  35. }
  36. </style>

flex项目按比例分配容器空间

2. place-self 某项目在”交叉轴”上的排列方式

flex允许设置其中的项目在交叉轴的排列方式

  1. <body>
  2. <ul class="container">
  3. <li class="items">item1</li>
  4. <li class="items">item2</li>
  5. <li class="items">item3</li>
  6. </ul>
  7. </body>
  8. <style>
  9. * {
  10. margin: 0;
  11. padding: 0;
  12. box-sizing: border-box;
  13. }
  14. .container {
  15. /* width: 450px; */
  16. height: 100px;
  17. }
  18. ul li {
  19. background-color: lightgreen;
  20. border: 1px solid black;
  21. list-style: none;
  22. /* height: 50px; */
  23. }
  24. .container {
  25. display: flex;
  26. flex-flow: row nowrap;
  27. }
  28. .container > .items:first-child,
  29. .container > .items:last-child {
  30. background-color: yellow;
  31. flex: 1;
  32. }
  33. .container > .items:first-child + * {
  34. flex: 3;
  35. }
  36. /* place-self: center; items2在交叉轴的排列方式:居中排列 */
  37. .container > .items:first-child + * {
  38. place-self: center;
  39. }
  40. </style>

3. order: 项目在”主轴”上的排列顺序

项目在主轴上的排列顺序按order的值排列,数字越小排列越靠前,默认都是0,数值一样,会排列项目代码输入的顺序排列。

  1. <body>
  2. <ul class="container">
  3. <li class="items">item1</li>
  4. <li class="items">item2</li>
  5. <li class="items">item3</li>
  6. </ul>
  7. </body>
  8. <style>
  9. * {
  10. margin: 0;
  11. padding: 0;
  12. box-sizing: border-box;
  13. }
  14. .container {
  15. /* width: 450px; */
  16. height: 100px;
  17. }
  18. ul li {
  19. background-color: lightgreen;
  20. border: 1px solid black;
  21. list-style: none;
  22. /* height: 50px; */
  23. }
  24. .container {
  25. display: flex;
  26. flex-flow: row nowrap;
  27. }
  28. .container > .items:first-child,
  29. .container > .items:last-child {
  30. background-color: yellow;
  31. flex: 1;
  32. }
  33. .container > .items:first-child + * {
  34. flex: 3;
  35. }
  36. .container > .items:first-child {
  37. order: 5;
  38. }
  39. .container > .items:first-child + * {
  40. order: 7;
  41. }
  42. .container > .items:last-child {
  43. order: 2;
  44. }
  45. </style>

Correcting teacher:PHPzPHPz

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