博客列表 >CSS中flex布局的项目属性

CSS中flex布局的项目属性

未来星
未来星原创
2021年04月06日 07:54:31671浏览

> 项目属性

序号 属性 描述
1 flex 项目的缩放比例与基准宽度
3 align-self 单个项目在交叉轴上的对齐方式
4 order 项目在主轴上排列顺序

flex属性:

  1. .container > .item {
  2. background-color: lightcyan;
  3. border: 1px solid #000;
  4. /* flex: flex-grow flex-shrink flex-basis */
  5. /* flex: 放大因子 收缩因子 项目在主轴上的基准宽度 */
  6. /* flex-basis: 项目占据的主轴宽度,优先级大于width,小于min-width */
  7. /* 默认值,禁止放大,但允许自动收缩,项目宽度自动计算 */
  8. flex: 0 1 auto;
  9. /* 默认值使用关键字简写 */
  10. flex: initial;
  11. /* 允许放大和收缩 */
  12. flex: 1 1 auto;
  13. /* 简写 */
  14. flex: auto;
  15. /* 禁止放大和收缩 */
  16. flex: 0 0 auto;
  17. /* 简写 */
  18. flex: none;
  19. /* 如果只有一个数字,省掉后面二个参数,表示的放大因子 */
  20. flex: 1;
  21. /* 等于 flex: 1 1 auto; */
  22. flex: 2;
  23. flex: 3;
  24. /* flex通常不会用来设置所有项目的默认选项,通常用来设置某一个项目的特征 */
  25. }
  26. /* 写一个案例,要求第2个,第3个项目的宽度是第1个和第四个2倍 */
  27. /* 选择第一个和第四个项目 */
  28. .container > .item:first-of-type,
  29. .container > .item:last-of-type {
  30. flex: 1;
  31. }
  32. /* 选择第二个和第三个项目 */
  33. .container > .item:nth-of-type(2),
  34. .container > .item:nth-of-type(2) + * {
  35. flex: 2;
  36. }

align-self属性:

  1. /* 例如设置第2个项目与其它项目的对齐方式不一样 */
  2. .container > .item:nth-of-type(2) {
  3. align-self: stretch;
  4. align-self: flex-start;
  5. align-self: flex-end;
  6. align-self: center;
  7. }

  1. /* flex项目支持定位 */
  2. /* 定位父级 */
  3. .container {
  4. position: relative;
  5. }
  6. .container > .item:nth-of-type(2) {
  7. position: absolute;
  8. left: 3rem;
  9. top: 3rem;
  10. /* 通过定位,可以许多非常复杂,甚至匪夷所思的布局 */
  11. }

order属性:

  1. /* 显示顺序:默认按书写的源码顺序排列 */
  2. /* 默认序号越小越靠前,越大越靠后 */
  3. .container > .item:first-of-type {
  4. order: 5;
  5. background-color: yellow;
  6. }
  7. .container > .item:nth-of-type(2) {
  8. order: 2;
  9. background-color: lightgreen;
  10. }
  11. .container > .item:nth-of-type(3) {
  12. order: 0;
  13. }
  14. .container .item:last-of-type {
  15. /* 支持负值 */
  16. order: -1;
  17. background-color: #ccc;
  18. }

声明:本文内容转载自脚本之家,由网友自发贡献,版权归原作者所有,如您发现涉嫌抄袭侵权,请联系admin@php.cn 核实处理。
全部评论
文明上网理性发言,请遵守新闻评论服务协议