Blogger Information
Blog 11
fans 0
comment 0
visits 7763
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template
grid栅格布局学习
麦穗
Original
684 people have browsed it

grid栅格布局

  • 初始源码
    1. <!DOCTYPE html>
    2. <html lang="en">
    3. <head>
    4. <meta charset="UTF-8" />
    5. <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    6. <title>grid布局</title>
    7. <style>
    8. .container {
    9. width: 100vw;
    10. height: 100vh;
    11. background-color: lightblue;
    12. }
    13. .item {
    14. font-size: 1.5rem;
    15. width: 100px;
    16. height: 100px;
    17. background-color: navajowhite;
    18. }
    19. </style>
    20. </head>
    21. <body>
    22. <div class="container">
    23. <div class="item item1">1</div>
    24. <div class="item item2">2</div>
    25. <div class="item item3">3</div>
    26. <div class="item item4">4</div>
    27. <div class="item item5">5</div>
    28. <div class="item item6">6</div>
    29. <div class="item item7">7</div>
    30. <div class="item item8">8</div>
    31. <div class="item item9">9</div>
    32. </div>
    33. </body>
    34. </html>
  • 显示效果

  • 在style样式中添加如下源码:

    1. .container {
    2. display: grid;
    3. /* grid网格布局默认以行布局 */
    4. grid-auto-flow: row;
    5. /* grid网格布局改为以列布局 */
    6. grid-auto-flow: column;
    7. }
  • 显示效果

  • 在style样式中添加如下源码:

    1. .container {
    2. /* grid网格布局 固定值 */
    3. grid-template-rows: 200px 200px 200px;
    4. grid-template-columns: 200px 200px 200px;
    5. }
  • 显示效果

  • 在style样式中添加如下源码:

    1. .container {
    2. /* grid网格布局 百分比 */
    3. grid-template-rows: 20% 40% auto;
    4. grid-template-columns: 40% 20% auto;
    5. }
  • 显示效果

  • 在style样式中添加如下源码:

    1. .container {
    2. /* grid网格布局 比例 */
    3. grid-template-rows: 2fr 1fr 1fr;
    4. grid-template-columns: 1fr 1fr 2fr;
    5. }
  • 显示效果

  • 在style样式中添加如下源码:

    1. .container {
    2. /* grid网格布局 重复设置*/
    3. grid-template-rows: repeat(3,150px);
    4. grid-template-columns: repeat(3,200px);
    5. }
  • 显示效果

  • 在style样式中添加如下源码:

    1. .container {
    2. /* grid网格布局 分组设置 */
    3. grid-template-rows: repeat(2, 100px 150px);
    4. grid-template-columns: repeat(2, 100px 200px);
    5. }
  • 显示效果

  • 在style样式中添加如下源码:

    1. .container {
    2. /* grid网格布局 弹性 */
    3. grid-template-rows: repeat(2, minmax(100px, 200px));
    4. grid-template-columns: repeat(2,minmax(200px,250px));
    5. }
  • 显示效果

  • 在style样式中添加如下源码:

    1. .container {
    2. /* grid网格布局 自动填充 */
    3. grid-template-rows: repeat(auto-fill,200px);
    4. grid-template-columns: repeat(auto-fill,200px);
    5. }
  • 显示效果
  1. <!DOCTYPE html>
  2. <html lang="en">
  3. <head>
  4. <meta charset="UTF-8" />
  5. <meta name="viewport" content="width=device-width, initial-scale=1.0" />
  6. <title>grid布局</title>
  7. <style>
  8. .container {
  9. width: 50vw;
  10. height: 100vh;
  11. background-color: lightblue;
  12. display: grid;
  13. grid-template-rows: repeat(3, 1fr);
  14. grid-template-columns: repeat(3, 1fr);
  15. }
  16. .item {
  17. font-size: 1.5rem;
  18. width: 100px;
  19. height: 100px;
  20. background-color: navajowhite;
  21. }
  22. </style>
  23. </head>
  24. <body>
  25. <div class="container">
  26. <div class="item item1">1</div>
  27. <div class="item item2">2</div>
  28. <div class="item item3">3</div>
  29. <div class="item item4">4</div>
  30. <div class="item item5">5</div>
  31. <div class="item item6">6</div>
  32. <div class="item item7">7</div>
  33. <div class="item item8">8</div>
  34. <div class="item item9">9</div>
  35. </div>
  36. </body>
  37. </html>

  • 在style样式中添加如下源码:
    1. /* 使用默认的网格线来划分单元格 */
    2. .item1 {
    3. background-color: lightgreen;
    4. grid-row-start: 3;
    5. grid-row-end: 4;
    6. grid-column-start: 3;
    7. grid-column-end: 4;
    8. }
  • 显示效果

  • 在style样式中添加如下源码:

    1. /* 使用默认的网格线来划分单元格 */
    2. .item1 {
    3. background-color: lightgreen;
    4. /*简写*/
    5. grid-row: 3 /4;
    6. grid-column: 3/4;
    7. }
  • 显示效果

  • 在style样式中添加如下源码:

    1. /* 使用默认的网格线来划分单元格 */
    2. .item1 {
    3. background-color: lightgreen;
    4. /* 使用偏移量来简化*/
    5. grid-row: 3 / span 2;
    6. grid-column: 3 / span 2;
    7. }
  • 显示效果

  • 在style样式中添加如下源码:

    1. .container {
    2. /* 设置项目在单元格中的对齐方式 */
    3. place-items: center center;
    4. }
  • 显示效果

  • 在style样式中添加如下源码:

    1. .item2 {
    2. /* grid-area: aside; */
    3. background-color: lightpink;
    4. place-self: end end;
    5. }
    6. }
  • 显示效果

  • 在style样式中添加如下源码:

    1. .item1 {
    2. background-color: lightgreen;
    3. /* 默认网格区域 ,是从当前位置开始的填充 */
    4. grid-area: span 2 / span 2;
    5. }
  • 显示效果

  • 在style样式中添加如下源码:

    1. .container {
    2. grid-template-areas:
    3. "header header header"
    4. "aside main main"
    5. "footer footer footer";
    6. }
    7. .item {
    8. /* width: 100px;
    9. height: 100px; */
    10. }
    11. .item1 {
    12. background-color: lightgreen;
    13. grid-area: header;
    14. }
    15. .item2 {
    16. grid-area: aside;
    17. background-color: lightpink;
    18. }
    19. .item3 {
    20. grid-area: main;
    21. background-color: lime;
    22. }
    23. .item4 {
    24. grid-area: footer;
    25. background-color: lightseagreen;
    26. }
  • 显示效果
  1. <!DOCTYPE html>
  2. <html lang="en">
  3. <head>
  4. <meta charset="UTF-8" />
  5. <meta name="viewport" content="width=device-width, initial-scale=1.0" />
  6. <title>设置单元格在容器中的对齐方式</title>
  7. <style>
  8. .container {
  9. width: 50vw;
  10. height: 100vh;
  11. background-color: lightblue;
  12. display: grid;
  13. grid-template-rows: repeat(3, 50px);
  14. grid-template-columns: repeat(3, 50px);
  15. }
  16. .item {
  17. background-color: lightseagreen;
  18. font-size: 1.5rem;
  19. }
  20. </style>
  21. </head>
  22. <body>
  23. <div class="container">
  24. <div class="item item1">1</div>
  25. <div class="item item2">2</div>
  26. <div class="item item3">3</div>
  27. <div class="item item4">4</div>
  28. <div class="item item5">5</div>
  29. <div class="item item6">6</div>
  30. <div class="item item7">7</div>
  31. <div class="item item8">8</div>
  32. <div class="item item9">9</div>
  33. </div>
  34. </body>
  35. </html>

  • 在style样式中添加如下源码:
    1. .container {
    2. /* 设置单元格在容器中的对齐方式 */
    3. place-content: center center;}
  • 显示效果

  • 在style样式中添加如下源码:

    1. .container {
    2. /* 设置单元格之间的间距 */
    3. gap: 10px 20px;
    4. }
  • 显示效果

学习总结:

1、grid栅格布局很多与flex布局的属性相同,记忆有点吃力,但是grid似乎很有用
2、缺少实战经验,多写源码是当下最重要的事情,这样对属性也会得到实际的应用
3、未来很远,光阴很快;抓紧当下,展望未来

Correcting teacher:天蓬老师天蓬老师

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