grid.css 2.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115
  1. /* quotes */
  2. div {
  3. grid-template-areas:
  4. 'header header'
  5. 'main sidebar'
  6. 'footer footer';
  7. }
  8. /* numbers */
  9. div {
  10. grid-template-columns:
  11. [full-start] minmax(1.50em, 1fr)
  12. [main-start] minmax(.40ch, 75ch)
  13. [main-end] minmax(1em, 1.000fr)
  14. [full-end];
  15. }
  16. /* casing */
  17. div {
  18. GRID:
  19. [top] 1fr
  20. [middle] 1fr
  21. bottom;
  22. grid-TEMPLATE:
  23. "a a a" 200px
  24. "b b b" 200px
  25. / 200px 200px auto;
  26. }
  27. /* break before first line if there are any breaks */
  28. div {
  29. grid-template-columns:
  30. 1fr 100px 3em;
  31. grid: [wide-start] "header header header" 200px [wide-end]
  32. "footer footer footer" 25px
  33. / auto 50px auto;
  34. }
  35. /**
  36. * https://github.com/prettier/prettier/issues/2703#issuecomment-341188126
  37. */
  38. .container {
  39. display: grid;
  40. /* basic template rows/columns */
  41. grid-template-columns: 1fr 100px 3em;
  42. grid-template-rows: 1fr 100px 3em;
  43. /* template rows/columns with named grid lines */
  44. grid-template-columns:
  45. [wide-start] 1fr
  46. [main-start] 500px
  47. [main-end] 1fr
  48. [wide-end];
  49. grid-template-rows:
  50. [top] 1fr
  51. [middle] 1fr
  52. [bottom];
  53. /* template rows/columns with functions */
  54. grid-template-columns: minmax(1em, 1fr) minmax(1em, 80ch) minmax(1em, 1fr);
  55. /* getting really busy with named lines + functions */
  56. grid-template-columns:
  57. [full-start] minmax(1em, 1fr)
  58. [main-start] minmax(1em, 80ch)
  59. [main-end] minmax(1em, 1fr)
  60. [full-end];
  61. grid-template-areas:
  62. "header header header"
  63. "main main sidebar"
  64. "main main sidebar2"
  65. "footer footer footer";
  66. /* Shorthand for grid-template-rows, grid-template-columns, and grid-template
  67. areas. In one. This can get really crazy. */
  68. grid-template:
  69. [row1-start] "header header header" 25px [row1-end]
  70. [row2-start] "footer footer footer" 25px [row2-end]
  71. / auto 50px auto;
  72. /* The. Worst. This one is shorthand for like everything here smashed into one. But rarely will you actually specify EVERYTHING. */
  73. grid:
  74. [row1-start] "header header header" 25px [row1-end]
  75. [row2-start] "footer footer footer" 25px [row2-end]
  76. / auto 50px auto;
  77. /* simpler use case: */
  78. grid: 200px auto / 1fr auto 1fr;
  79. /* Okay, the the worst of it. The simpler syntaxes: */
  80. grid-row-gap: 2em;
  81. grid-column-gap: 1em;
  82. /* shorthand for grid-row-gap + grid-column-gap: */
  83. grid-gap: 2em 1em;
  84. grid-auto-columns: 1fr;
  85. grid-auto-rows: 1fr;
  86. }
  87. .container > .item {
  88. grid-column-start: 1;
  89. grid-column-end: 2;
  90. grid-row-start: -2;
  91. grid-row-end: -1;
  92. /* shorthands for the above: */
  93. grid-column: 1 / 2;
  94. grid-column: main;
  95. grid-row: -2 / span 1;
  96. grid-row: footer;
  97. grid-area: main;
  98. grid-area: 1 / main-start / 3 / main-end;
  99. }