Blogger Information
Blog 19
fans 0
comment 0
visits 8323
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template
网格布局:grid 容器/项目属性
Wu.Ang
Original
345 people have browsed it

网格布局:grid 容器/项目属性

步骤

  1. grid 容器
  2. 划分网格单元
  3. 将项目放到指定的网格单元

一、创建 grid 容器

  1. .container {
  2. display: grid;
  3. }

二、划分网格单元

  1. .container {
  2. display: grid;
  3. /* 创建三列,每列宽度为10em */
  4. grid-template-columns: 10em 10em 10em;
  5. /* 创建三行,每行宽度为10em */
  6. grid-template-rows: 10em 10em 10em;
  7. /* repeat(重复次数,重复的值) */
  8. grid-template-columns: repeat(3, 10em);
  9. grid-template-rows: repeat(3, 10em);
  10. /* fr: fraciton缩写, 比例/部分的意思 */
  11. grid-template-columns: repeat(3, 1fr);
  12. grid-template-rows: repeat(3, 1fr);
  13. /* 默认项目的排列方式是:行优先 */
  14. grid-auto-flow: row;
  15. grid-auto-flow: column;
  16. /* 新生成的项目,自动放入自动生成的网格项目中,并且与新单元的宽高自适应 */
  17. grid-auto-rows: 10em;
  18. /* gap: 行间距 列间距 */
  19. gap: 5px 10px;
  20. /* 对齐,容器外必须有剩余空间才能对齐 */
  21. /* 所有项目在容器中对齐 */
  22. /* place-content:垂直方式 水平方式; */
  23. place-content: start start;
  24. /* 所有剩余空间还可以在项目之间进行分配 */
  25. place-content: space-between space-around;
  26. /* place-items:;项目在网格单元中对齐 */
  27. place-items: start start;
  28. /* 如果需要设置所有项目在容器中的居中,并且所有项目还在网格单元中也居中 */
  29. place-content: center;
  30. place-items: start;
  31. }

三、将项目放到指定的格子中

  1. .container > .item {
  2. /* 默认情况下项目在左上角开始的第一个网格单元中 */
  3. grid-row-start: 1;
  4. grid-row-end: 2;
  5. grid-column-start: 1;
  6. grid-column-end: 2;
  7. /* 简化 */
  8. grid-row: 1 / 2;
  9. grid-column: 1 / 2;
  10. /* 可以自定义项目的位置 */
  11. grid-row: 2 / 3;
  12. grid-column: 2 / 3;
  13. /* 一个项目移动的最小偏移量,就是一个网格单元/单元格 */
  14. /* 所以,如果项目只占据一个单元格,可以省去结束行号 */
  15. grid-row: 2;
  16. grid-column: 2;
  17. /* 网格区域:一个或多个单元格构成,跨越多行或多列 */
  18. grid-row: 2 / 4;
  19. grid-column: 2 / 4;
  20. /* 查找结束的行/列的意义不大,只知道跨了几行几列就行了 */
  21. /* span关键字:可以指定结束行/列的数量 */
  22. grid-row: 2 / span 2;
  23. grid-column: 2 / span 2;
  24. /* grid-area: 行开始 / 列开始 / 行结束 / 列结束 直接定义网格区域 */
  25. grid-area: 2 / 2 / span 2 / span 2;
  26. }
  27. .container > .item:nth-of-type {
  28. /* 设置某个项目的对齐方式 */
  29. place-self: end;
  30. }

实例

  1. <!DOCTYPE html>
  2. <html lang="en">
  3. <head>
  4. <meta charset="UTF-8" />
  5. <meta http-equiv="X-UA-Compatible" content="IE=edge" />
  6. <meta name="viewport" content="width=device-width, initial-scale=1.0" />
  7. <title>grid</title>
  8. <style>
  9. /* 代码初始化 */
  10. * {
  11. margin: 0;
  12. padding: 0;
  13. box-sizing: border-box;
  14. }
  15. body .container {
  16. width: 100%;
  17. height: 30em;
  18. border: 1px solid;
  19. display: grid;
  20. /* 创建两行五列 */
  21. grid-template-columns: repeat(5, 15em);
  22. grid-template-rows: repeat(2, 15em);
  23. /* 项目在项目中居中和网格单元中居中 */
  24. place-content: center;
  25. place-items: stretch;
  26. }
  27. body .container > .item {
  28. width: 13em;
  29. height: 12em;
  30. }
  31. body .container > .item > img {
  32. border-radius: 6px 6px 0 0;
  33. width: 100%;
  34. }
  35. body .container > .item > span {
  36. font-size: 14px;
  37. }
  38. body .container > .item > span:hover {
  39. color: red;
  40. cursor: pointer;
  41. }
  42. </style>
  43. </head>
  44. <body>
  45. <div class="container">
  46. <div class="item">
  47. <img src="img/6274cc6ae0efc579.jpg" alt="" />
  48. <span>PHP开发微信公众号平台从简到精</span>
  49. </div>
  50. <div class="item">
  51. <img src="img/6278b2ec4fa28483.jpg" alt="" />
  52. <span>PHP进阶教程之由浅入深掌握面向对象开发</span>
  53. </div>
  54. <div class="item">
  55. <img src="img/627a17e380f6e698.jpg" alt="" />
  56. <span>数据库原理及应用【一套搞定所有数据库面试】</span>
  57. </div>
  58. <div class="item">
  59. <img src="img/627e50fae9f42783.jpg" alt="" />
  60. <span>极限编程—程序员修炼之道</span>
  61. </div>
  62. <div class="item">
  63. <img src="img/6282079ba5097121.jpg" alt="" />
  64. <span>PHP上传文件—入门到实战系列必学教程</span>
  65. </div>
  66. <div class="item">
  67. <img src="img/629723b6eb410512.png" alt="" />
  68. <span>TypeScript全面解读课程</span>
  69. </div>
  70. <div class="item">
  71. <img src="img/629dc8e8356ad204.png" alt="" />
  72. <span>基于PHP7+MVC博客系统设计</span>
  73. </div>
  74. <div class="item">
  75. <img src="img/62ce7dc353d67580.png" alt="" />
  76. <span>前端HTML5+CSS3(女神版)</span>
  77. </div>
  78. <div class="item">
  79. <img src="img/62d11714236a0106.png" alt="" />
  80. <span>CodeIgniter3(CI3)基础教程(全)</span>
  81. </div>
  82. <div class="item">
  83. <img src="img/62d661fa1d3f3690.png" alt="" />
  84. <span>好课诞生记</span>
  85. </div>
  86. </div>
  87. </body>
  88. </html>
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