CSS Flex

思路

外层容器也就是ul设置display:flex,对项目也就是li设置flex:auto,代表 flex: 1 1 auto

实现

  1. <style>
  2. * {
  3. list-style: none;
  4. border: 0;
  5. padding: 0;
  6. margin: 0
  7. }
  8. ul {
  9. width: 500px;
  10. height: 200px;
  11. background: red;
  12. display: flex;
  13. margin: auto;
  14. margin-top: 100px;
  15. padding: 010px;
  16. align-items: center;
  17. }
  18. li {
  19. background: green;
  20. height: 100px;
  21. width: 500px;
  22. display: inline-block;
  23. margin: 2px;
  24. line-height: 100px;
  25. text-align: center;
  26. flex: auto
  27. }
  28. </style>
  1. <body>
  2. <ul>
  3. <li>1</li>
  4. <li>2</li>
  5. <li>3</li>
  6. </ul>
  7. </body>

效果

image.png

解析

注意width的设置,外层ul是500,li也是500,但是实际看到的确实li平分了ul的宽度,这是因为设置了flex:auto,代表有剩余空间的话项目等分剩余空间放大,空间不足项目等比例缩小