当前位置:   article > 正文

CSS网格布局笔记[转]_css grid-template-columns

css grid-template-columns

CSS网格布局笔记[转]

  • 开发者工具独立窗口:

创建网格容器

  •  示例1:

  •  示例2:

fr单位和repeat()函数示例1:

  • 示例2

  • 示例3:

网格单元和网格区域

  •  示例1:

  • 示例2:

  •  示例3:

  •  示例3:

  • 示例4: 

 

  •  解决空白区域:

网格轨道中使用minmax()函数

  • 示例1:

  • 示例2:

网格对齐 justify-items & align-items

  • 示例1:默认情况:

  •  示例2:

  •   示例3:

  • 示例4:

  •  示例5:

  •  示例6:

  •  示例7:

元素对齐 justify-self & align-self

  • 示例1:

  • 示例2:

网格元素重叠和z-index

  • 示例:

  •  通过网格线查看:

  • 图片设置:

  • 完整代码:
  1. <main class="grid">
  2. <div class="img1">
  3. <img src="https://res.cloudinary.com/brandonzhang/image/upload/v1638360903/brandonzhang.cn/462030_rwbdc2.jpg" alt="">
  4. </div>
  5. <div class="text1">
  6. <h2>Place</h2>
  7. <p>Proin id dignissim lectus, vitae hendrerit mi. </p>
  8. </div>
  9. <div class="img2">
  10. <img src="https://res.cloudinary.com/brandonzhang/image/upload/v1638360903/brandonzhang.cn/462031_hyh3ny.jpg" alt="">
  11. </div>
  12. <div class="text2">
  13. <h2>Place</h2>
  14. <p>Proin id dignissim lectus, vitae hendrerit mi. </p>
  15. </div>
  16. <div class="img3">
  17. <img src="https://res.cloudinary.com/brandonzhang/image/upload/v1638360903/brandonzhang.cn/462032_kshgad.jpg" alt="">
  18. </div>
  19. <div class="text3">
  20. <h2>Place</h2>
  21. <p>Proin id dignissim lectus, vitae hendrerit mi. </p>
  22. </div>
  23. <p class="content">
  24. Proin id dignissim lectus, vitae hendrerit mi. Sed egestas est turpis, ac pretium nisl elementum ac. Nunc et risus sit amet sem malesuada lobortis. Fusce vestibulum, purus vitae euismod lacinia, nunc odio maximus metus, eu suscipit ex est sed nunc. Aliquam vel diam sit amet quam laoreet vehicula. Etiam tortor lectus, tempor quis luctus eu, tristique eget mauris. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas.
  25. <br><br>
  26. Nullam aliquam mollis lorem eu feugiat. Vivamus eleifend diam vel libero pharetra vehicula. Fusce sit amet enim elit. Suspendisse et fringilla ligula. Pellentesque ac quam sapien. Duis tincidunt mattis ipsum, ut mollis quam maximus vel. Integer a lacus mauris.
  27. </p>
  28. </main>
  1. @import url("https://fonts.googleapis.com/css?family=Lato:400,400i,700");
  2. * {
  3. box-sizing: border-box;
  4. }
  5. body {
  6. font-family: Lato;
  7. font-size: 0.8rem;
  8. padding: 2rem;
  9. }
  10. h2 {
  11. margin-bottom: 0;
  12. }
  13. p {
  14. margin-top: 0.1em;
  15. }
  16. img {
  17. width: 100%;
  18. height: 100%;
  19. object-fit: cover;
  20. }
  21. .grid {
  22. display: grid;
  23. grid-template-columns: 20ch 1fr calc(20ch + 1rem) 1fr 2rem minmax(15ch, 30ch);
  24. grid-template-rows: 25vh 20vh 10vh 15vh 15vh;
  25. }
  26. .img1 {
  27. grid-column: 1 / span 2;
  28. grid-row: 1 / span 3;
  29. }
  30. .text1 {
  31. grid-column: 1;
  32. grid-row: 4;
  33. }
  34. .img2 {
  35. grid-column: 2 / span 2;
  36. grid-row: 3 / -1;
  37. border: 0.5rem solid white;
  38. z-index: 1;
  39. }
  40. .text2 {
  41. grid-column: 1;
  42. grid-row: 5;
  43. }
  44. .img3 {
  45. grid-column: 3 / span 2;
  46. grid-row: 2 / span 2;
  47. padding-left: 1rem;
  48. }
  49. .text3 {
  50. grid-column: 3;
  51. align-self: end;
  52. padding-left: 1rem;
  53. }
  54. .content {
  55. grid-column: 6;
  56. grid-row: 2 / span 4;
  57. font-size: 0.8rem;
  58. }

auto-fit和minmax创建灵活轨道

  • flex示例:

  •  grid示例:

  • auto-fill 与 auto-fit

命名网格区域并在媒体查询中更换布局

  1. <header>Header / 页眉</header>
  2. <main>Content / 正文</main>
  3. <footer>Footer / 页脚</footer>
  1. @import url("https://fonts.googleapis.com/css?family=Lato:400,400i,700");
  2. * {
  3. box-sizing: border-box;
  4. }
  5. body {
  6. display: grid;
  7. grid-template-columns: 200px 1fr;
  8. grid-template-rows: min-content 1fr min-content;
  9. grid-template-areas:
  10. "header content"
  11. "header content"
  12. "header footer";
  13. }
  14. @media (max-width: 768px) {
  15. body {
  16. grid-template-areas:
  17. "header header"
  18. "content content"
  19. "footer footer";
  20. }
  21. }
  22. header {
  23. grid-area: header;
  24. }
  25. main {
  26. grid-area: content;
  27. }
  28. footer {
  29. grid-area: footer;
  30. }
  31. body {
  32. font-family: Lato;
  33. margin: 0;
  34. min-height: 100vh;
  35. gap: 1rem;
  36. font-size: 2rem;
  37. color: white;
  38. text-align: center;
  39. }
  40. body > * {
  41. background-color: #21BBD4;
  42. padding: 1rem 2rem;
  43. }
  44. header {
  45. background: #4ECB71;
  46. }
  47. main {
  48. background: #D99BFF;
  49. }
  50. footer {
  51. background: #85B6FF;
  52. }

命名网格线并使用命名线布局

  • 示例:

  1. <section>
  2. <div class="full-width">
  3. I'm a full-width content!<br>
  4. 全屏
  5. </div>
  6. <div class="wide-width">
  7. I'm a wide-width content!<br>
  8. 宽屏
  9. </div>
  10. <div class="narrow-width">
  11. I'm a narrow-width content!<br>
  12. 窄屏
  13. </div>
  14. </section>
  1. @import url("https://fonts.googleapis.com/css?family=Lato:400,400i,700");
  2. * {
  3. box-sizing: border-box;
  4. }
  5. section {
  6. display: grid;
  7. grid-template-columns: [full-start] 2rem [wide-start] 4rem [narrow-start] 1fr [narrow-end] 4rem [wide-end] 2rem [full-end];
  8. }
  9. .full-width {
  10. /* grid-column-start: full-start;
  11. grid-column-end: full-end; */
  12. /* grid-column: full-start / full-end; */
  13. grid-column: full;
  14. }
  15. .wide-width {
  16. grid-column: wide;
  17. }
  18. .narrow-width {
  19. grid-column: narrow;
  20. }
  21. .full-width {
  22. background: #D99BFF;
  23. }
  24. .wide-width {
  25. background: #FF9790;
  26. }
  27. .narrow-width {
  28. background: #4ECB71;
  29. }
  30. body {
  31. font-family: Lato;
  32. margin: 0;
  33. min-height: 100vh;
  34. gap: 1rem;
  35. font-size: 1rem;
  36. color: white;
  37. text-align: center;
  38. }
  39. section > * {
  40. padding: 1rem 2rem;
  41. }

对齐网格轨道align-content & justify content

  •  示例1:

  •  示例2

minmax(min(100%, 300px), 1fr) 省去媒体查询

  • 使用媒体查询

  • 不使用媒体查询:

适合练手的CSS Grid小游戏

display: contents

隐式网格

  • 示例:

CSS Grid Generator

推荐阅读
相关标签
  

闽ICP备14008679号