博客列表 >grid布局基础知识

grid布局基础知识

李东亚¹⁸⁰³⁹⁵⁴⁰¹²⁰
李东亚¹⁸⁰³⁹⁵⁴⁰¹²⁰原创
2020年04月15日 14:55:05990浏览

一、grid基础知识:

1、Grid容器属性

1、 grid-template-columns/rows:基于列/行定义网格线和轨道大小;
2、 grid-column/row-gap:列和行的间隙(grid-gap|gap)
3、 grid-template-areas:命名网格区域(配合项目的grid-area属性使用)
4、 grid-auto-columns/rows:隐藏网格的列宽和行高
5、 grid-auto-flow:网格项目的流动方向(默认先行后列)值:row|column;
流动方向为行:可(grid-auto-rows)设置隐藏行高,反之可(grid-auto-columns)设置列宽
6、 justify/align-content:设置项目在网格中的水平/垂直对其方式,
简写:place-content:justify align;值有:start|cneter|end|space-between|space-evenly|space-around
7、 justify/align-items:设置内容在单元格内水平/垂直的对其方式
简写:place-items:justify align;值有:start|end|center

2、Grid项目属性:

1、 grid-column/row-start/end:将项目放于行列网格线起始网格域内;
2、 grid-area:将项目防御网格域内或将项目放于顺时针(top-left-bottom-right)网格域内
3、 justify/align-self:设置某一个特定项目在网格中的水平/垂直的对其方式
简写place-self:justify align; 值有:start|end|center

二、上级实战演练grid布局相关属性

  1. <!DOCTYPE html>
  2. <html lang="en">
  3. <head>
  4. <meta charset="UTF-8" />
  5. <meta name="viewport" content="width, initial-scale=1.0" />
  6. <title>Document</title>
  7. <style>
  8. .container {
  9. width: 400px;
  10. height: 400px;
  11. background-color: #ffff80;
  12. display: grid;
  13. grid-template-columns: repeat(3, 100px);
  14. grid-template-rows: repeat(2, 100px);
  15. /* 自动排列方向 */
  16. /* grid-auto-flow: column; */
  17. /* 隐式列宽 */
  18. /* grid-auto-columns: 120px; */
  19. /* 隐式行高 */
  20. grid-auto-rows: 100px;
  21. /* 网格命名 */
  22. /* grid-template-areas:
  23. "one one three"
  24. "four five six"; */
  25. /* justify-content: center;
  26. justify-content: start;
  27. justify-content: end;
  28. justify-content: space-between;
  29. justify-content: space-evenly;
  30. justify-content: space-around;
  31. justify-items: end;
  32. justify-items: start;
  33. justify-items: center;
  34. align-content: start;
  35. align-content: center;
  36. align-content: end;
  37. align-content: space-between;
  38. align-content: space-around;
  39. align-content: space-evenly;
  40. align-items: center;
  41. align-items: end;
  42. align-items: start; */
  43. /* place-content: space-evenly; */
  44. place-items: center;
  45. /* grid-row-gap: 10px;
  46. grid-column-gap: 20px; */
  47. gap: 10px 25px;
  48. }
  49. .item {
  50. width: 80px;
  51. height: 80px;
  52. background-color: #2d49ce;
  53. outline: 1px solid #ff0000;
  54. }
  55. .item1 {
  56. grid-column-start: 1;
  57. /* grid-column-end: 3; */
  58. grid-column-end: span 2;
  59. /* grid-row: 1/3; */
  60. grid-row: 1 / span 2;
  61. }
  62. .item2 {
  63. grid-area: 1/3/3/4;
  64. }
  65. .item4 {
  66. place-self: start end;
  67. }
  68. </style>
  69. </head>
  70. <body>
  71. <div class="container">
  72. <div class="item item1">1</div>
  73. <div class="item item2">2</div>
  74. <div class="item item3">3</div>
  75. <div class="item item4">4</div>
  76. <div class="item item5">5</div>
  77. <div class="item item6">6</div>
  78. <div class="item item7">7</div>
  79. </div>
  80. </body>
  81. </html>

总结:

1、grid网格布局:grid-template-rows|columns:常见单位和属性:
常见单位:px % 1fr;
属性:
a、repeat(n,1fr);n重复次数,1fr行或列款,可以设置两个,连续重复例如:repeat(2,100px 200px);
b、repeat(auto-fill,100px):根据grid容器宽度,自适应填充项目
c、repeat(3,minmax(100px,150px));:设置项目自适应大小
2、grid网格线(命名)别名:可在设置轨道宽度的前方加[]设置网格线别名
例如:grid-template-columns: [c1-start] 100px [c1-end c2-start] 100px [c2-end];在不布局项目时,可以设用别名布局:grid-column: c1-start / c3-end;
3、命名网格,也可以使用网格起至线布局项目:例如
grid-area: three-start/3/six-end/4;
4、项目布局时,可以使用偏移量span 3:填充3个单元格
5、命名网格区域,可以使用.占位符;相同名字网格区域会合并;

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