diff --git a/snippets/grid-layout.md b/snippets/grid-layout.md new file mode 100644 index 000000000..54c7e441d --- /dev/null +++ b/snippets/grid-layout.md @@ -0,0 +1,105 @@ +### Grid layout + +Basic website layout using `grid`. + +#### HTML + +```html +
+
Header
+ +
Content +
Lorem ipsum dolor sit amet, consectetur adipisicing elit. Deleniti modi sed accusamus vero laborum? Ut ducimus doloremque perspiciatis labore velit, nostrum, molestias animi, nulla odit illum voluptas est explicabo non! +
+ +
+``` + +#### CSS + +```css +.grid-layout { + display: grid; + grid-gap: 10px; + grid-template-columns: repeat(3, 1fr); + grid-template-areas: + "sidebar header header" + "sidebar content content" + "sidebar footer footer"; +} +.sidebar { + grid-area: sidebar; +} +.content { + grid-area: content; +} +.header { + grid-area: header; +} +.footer { + grid-area: footer; +} +``` + +#### Demo + +
+
+
Header
+
Sidebar
+
Content +
Lorem ipsum dolor sit amet, consectetur adipisicing elit. +
+ +
+
+ + + +#### Explanation + +1. `display: grid` enables grid. +2. `grid-gap: 10px` defines spacing between the elements. +3. `grid-template-columns: repeat(3, 1fr)` defines 3 columns of the same size. +4. `grid-template-areas` defines the names of grid areas. +5. `grid-area: sidebar` makes the element use the area with the name `sidebar`. + +#### Browser support + +✅ No caveats. + +* https://caniuse.com/#feat=css-grid + + \ No newline at end of file