Blogger Information
Blog 14
fans 0
comment 0
visits 23863
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template
Grid隐式布局, 对齐方式与行列间隙的使用方法
逍遥php
Original
417 people have browsed it

Grid 布局简介

grid布局即网格布局是一种二维布局,可以同时控制行和列的排布和对齐方式,grid布局由水平线和垂直线构成,两条水平线之间的区域叫做行轨道,两条垂直线的区域叫做列轨道。

隐式网格

通用代码块

  1. <div class="container">
  2. <div class="item">item1</div>
  3. <div class="item">item2</div>
  4. <div class="item">item3</div>
  5. <div class="item">item4</div>
  6. <div class="item">item5</div>
  7. <div class="item">item6</div>
  8. <div class="item">item7</div>
  9. <div class="item">item8</div>
  10. <div class="item">item9</div>
  11. <div class="item other">item10</div>
  12. <div class="item other">item11</div>
  13. </div>

隐式网格代码细说

  1. .container {
  2. width: 300px;
  3. height: 150px;
  4. display: grid;
  5. /*
  6. grid-template-columns:设置每一列的宽度,可以是具体值,也可以是百分比
  7. grid-template-rows:设置每一行的宽度,可以是具体值,也可以是百分比
  8. */
  9. grid-template-columns: repeat(3, 1fr);
  10. grid-template-rows: repeat(3, 1fr);
  11. /* 1.项目排列规则 */
  12. grid-auto-flow: row;
  13. /* grid-auto-flow: column; */
  14. /* 2.隐式网格 */
  15. /* 多余的项目,出现在隐式网格中(自动生成) */
  16. grid-auto-rows: 50px;
  17. }
  18. .container .item {
  19. background-color: antiquewhite;
  20. }
  21. .container .item.other {
  22. background-color: violet;
  23. }
  24. /* 排列规则:gird-auto-flow:row/column 行优先/列优先
  25. 隐式网格:grid-auto-row/column
  26. */

效果图展示

对齐方式

  1. /*
  2. 1.对齐前提:必须存在"剩余空间"
  3. 2.对齐方案:"剩余空间"在"项目"之间的分配方式
  4. 3.剩余空间:flex(主轴,交叉轴),Grid(容器,单元格)
  5. Grid:剩余空间存在于"容器"或"单元格"
  6. */
  7. .container {
  8. display: grid;
  9. grid-template-columns: repeat(3, 100px);
  10. grid-template-rows: repeat(3, 100px);
  11. }
  12. .container .item {
  13. /* border: 1px solid #000; */
  14. background-color: wheat;
  15. /* width: 50px;
  16. height: 50px; */
  17. }
  18. /* 创建剩余空间 */
  19. .container {
  20. width: 450px;
  21. height: 450px;
  22. border: 1px solid #000;
  23. background-color: lightblue;
  24. /* 1.项目在"容器"中的对齐
  25. place-content:垂直方向 水平方向
  26. 默认值:垂直居中 水平居左
  27. */
  28. place-content: start start;
  29. /* 垂直居中,水平居右 */
  30. place-content: center end;
  31. /* 2.项目在"单元格"中的对齐 */
  32. /* 单元格中必须要有剩余空间,即:项目 < 单元格 */
  33. /* place-items: 垂直方向 水平方向; */
  34. place-items: start;
  35. place-items: center end;
  36. }
  37. /* 3.设置某个项目在单元格对齐方式(与众不同) */
  38. .container .item:nth-child(5) {
  39. background-color: blueviolet;
  40. place-self: end;
  41. }

效果图展示

行列间隙

  1. .container {
  2. display: grid;
  3. grid-template-columns: repeat(3, 100px);
  4. grid-template-rows: repeat(3, 100px);
  5. /* 行列间隙gap */
  6. /* gap: 垂直方向 水平方向; */
  7. gap: 5px 10px;
  8. gap: 10px;
  9. }
  10. .container .item {
  11. background-color: wheat;
  12. /* 行列间隙 */
  13. /* margin */
  14. /* 要求5px的margin */
  15. margin: 5px;
  16. }

效果图展示

总结

  1. grid 是一个 CSS 所有网格容器的简写属性,可以用来设置以下属性:
  2. 显式网格属性: grid-template-rowsgrid-template-columns grid-template-areas
  3. 隐式网格属性: grid-auto-rowsgrid-auto-columns grid-auto-flow
  4. 间距属性: grid-column-gap grid-row-gap
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