博客列表 >gird 属性与属性值应用

gird 属性与属性值应用

心
原创
2020年12月28日 15:36:48864浏览

grid 网格容器/网格项目/网格轨道/网格间距

  • 网格容器 :

    • 由若干个矩形网格单元组成
      • flex 中子元素默认为inline元素,grid中子元素默认为bliock元素
      • display:grid;
  • 网格项目:

    • 网格容器的子元素,必须放在网格单元中
    • 网格容器中的“子元素”,与flex是一样的. 默认生成一列N行的容器(N就是项目的数量)
  • 网格单元:

    • 有“单元格”和“网格区域” 两种表现形式
  • 网格轨道

    • 由多个网格单元组成吗,根据排列方向有“行轨”和“列轨”之分
    • grid-template-rows 设置轨道的行高

    • grid-template-columns 设置轨道的列宽、

  • 网格间距

    • 容器中轨道之间的间距,有“行轨间距”和“列轨间距”组成
    • gap 设置轨道间距 第一个参数是行高 第二个参数是列宽
    • gap 参数一样可以只写一个值

轨道间距

  • 隐式轨道:
    • 排列方式 grid-auto-flow
    • 自动生成的隐式轨道的高度时自动的,默认项目中在容器中按:先行后列 “行优先”,行优先时要设置行高
      • grid-auto-rows
    • 列优先
      • grid-auto-cloumns
序号 属性 描述
1 grid-template-columns 设置列的宽 可直接写N个值 可使用repeat()
2 grid-template-rows 设置行高 可直接写N个值 可使用repeat()
3 grid-template-columns:minmax(最小宽度, 最大宽度) minmax 可以设置最小值和最大值
grid-template-rows:minmax(最小宽度, 最大宽度) minmax 可以设置最小值和最大值
5 gap 设置轨道的间距,两个参数 第一个是水平方向的行高 第二高列方向的列宽
  • grid-template-columns:repeat(N列,列宽);
  • grid-template-rows:repeat(N行,行高);

  • grid-template-columns:repeat(N列,列宽) 最后一列的宽度;

    • 最后一列是后加的一列
  • grid-template-rows:repeat(N行,行高) 最后一行的行高;
    • 最后一行是后加的一行

示列 minmax()

  1. /*最小宽和最大宽度*/
  2. grid-template-colums:1fr minmax(20em,2fr) 1fr;

示列 repeat()

  1. /*设置三列两行*/
  2. grid-template-columns:repeat210em5em;
  3. grid-template-rowsrepeat(1,5em) 4em;

两行三列

示列

  1. /*轨道间距 行间距0.5em,列间距1em*/
  2. gap:0.5em 1em;

轨道间距

  • 设置轨道宽度时可以使用一个新的单位:fr(fraction),类似flex的伸缩因子
    • % 与 fr 共存,计算方式是:总宽度减去百分比的宽度,将剩下的全部分配给fr
    • auto,fr,% 都是相对单位,都可以触发自动计算机制,尽可能不同时使用
    • fr 与其他单位单位混合,如rm,px
      • px 和rm 是固定值,计算时要总宽度减去固定值吗,剩下分配给fr
    • grid-template-columns:1fr 2fr 1fr;

示列

  1. /*使用fr 中间的始终是两边的两倍*/
  2. grid-template-columns:1fr 2fr 1fr;

fr

  • grid-area : 设置任何一个项目所在的网格单元的区域
    • grid-area:行起始编号 / 列起始编号 / 行结束编号 / 列结束编号
    • 通常值关心跨几行或几列吗,并不关心结束的编号
      • grid-area: span 2 / span 3;
  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. padding: 1em;
  10. margin: 1em;
  11. border: 1px solid #000;
  12. display: grid;
  13. /*设置一个两行三列*/
  14. grid-template-columns:10em 10em 10em;
  15. grid-template-rows:5em 5em;
  16. /*两行三列 可简写为*/
  17. grid-template-colums:repeat(3,10em);
  18. grid-tempate-rows:repeat(2,5em);
  19. /*设置最小宽和最大宽*/
  20. grid-template-colums:1fr minmax(20em,2fr) 1fr;
  21. /*轨道间距*/
  22. gap:0.5em;
  23. }
  24. .container>.items {
  25. border: 1px solid #000;
  26. background-color: aqua;
  27. padding: 0.5em;
  28. }
  29. </style>
  30. </head>
  31. <body>
  32. <div class="container">
  33. <div class="items">1</div>
  34. <div class="items">2</div>
  35. <div class="items">3</div>
  36. <div class="items">4</div>
  37. <div class="items">5</div>
  38. <div class="items">6</div>
  39. </div>
  40. </body>
  41. </html>
声明:本文内容转载自脚本之家,由网友自发贡献,版权归原作者所有,如您发现涉嫌抄袭侵权,请联系admin@php.cn 核实处理。
全部评论
文明上网理性发言,请遵守新闻评论服务协议