├── 10. Checkerboard-layout ├── start.css ├── finished.css ├── start.html └── finished.html ├── 2. Centered-Content ├── start.css ├── finished.css ├── start.html └── finished.html ├── 3. Reordering-Content ├── start.css ├── start.js ├── finished.js ├── finished.css ├── start.html └── finished.html ├── 4. Responsive-Navbar ├── start.css ├── finished.css ├── start.html └── finished.html ├── 5. Asymetric-Dashboard ├── start.css ├── finished.css ├── start.html └── finished.html ├── 1. responsive-3-column-grid ├── start.css ├── finished.css ├── start.html └── finished.html ├── 6. Asymetric-Gallery-Layout ├── start.css ├── finished.css ├── start.html └── finished.html ├── 7. Responsive-Card-Gallery ├── start.css ├── start.js ├── start.html ├── finished.html ├── finished.css └── finished.js ├── 8. Responsive-2-column-with-footer ├── start.css ├── finished.css ├── start.html └── finished.html ├── 9. Responsive-2-column-with-footer (grid areas) ├── start.css ├── finished.css ├── start.html └── finished.html ├── media ├── 1.png ├── 10.png ├── 2.png ├── 3.png ├── 4.png ├── 5.png ├── 6.png ├── 7.png ├── 8.png └── 9.png ├── global.css └── ReadMe.md /10. Checkerboard-layout/start.css: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /2. Centered-Content/start.css: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /3. Reordering-Content/start.css: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /3. Reordering-Content/start.js: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /4. Responsive-Navbar/start.css: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /5. Asymetric-Dashboard/start.css: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /1. responsive-3-column-grid/start.css: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /6. Asymetric-Gallery-Layout/start.css: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /7. Responsive-Card-Gallery/start.css: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /7. Responsive-Card-Gallery/start.js: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /8. Responsive-2-column-with-footer/start.css: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /9. Responsive-2-column-with-footer (grid areas)/start.css: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /media/1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jamesqquick/Getting-Started-with-CSS-Grid-by-Example/HEAD/media/1.png -------------------------------------------------------------------------------- /media/10.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jamesqquick/Getting-Started-with-CSS-Grid-by-Example/HEAD/media/10.png -------------------------------------------------------------------------------- /media/2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jamesqquick/Getting-Started-with-CSS-Grid-by-Example/HEAD/media/2.png -------------------------------------------------------------------------------- /media/3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jamesqquick/Getting-Started-with-CSS-Grid-by-Example/HEAD/media/3.png -------------------------------------------------------------------------------- /media/4.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jamesqquick/Getting-Started-with-CSS-Grid-by-Example/HEAD/media/4.png -------------------------------------------------------------------------------- /media/5.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jamesqquick/Getting-Started-with-CSS-Grid-by-Example/HEAD/media/5.png -------------------------------------------------------------------------------- /media/6.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jamesqquick/Getting-Started-with-CSS-Grid-by-Example/HEAD/media/6.png -------------------------------------------------------------------------------- /media/7.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jamesqquick/Getting-Started-with-CSS-Grid-by-Example/HEAD/media/7.png -------------------------------------------------------------------------------- /media/8.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jamesqquick/Getting-Started-with-CSS-Grid-by-Example/HEAD/media/8.png -------------------------------------------------------------------------------- /media/9.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jamesqquick/Getting-Started-with-CSS-Grid-by-Example/HEAD/media/9.png -------------------------------------------------------------------------------- /2. Centered-Content/finished.css: -------------------------------------------------------------------------------- 1 | .grid-container { 2 | display: grid; 3 | height: 40vh; 4 | width: 60vw; 5 | margin: 0 auto; 6 | box-shadow: 1px 1px 4px #ccc; 7 | border: 1px solid #ccc; 8 | justify-items: center; 9 | align-items: center; 10 | border-radius: 5px; 11 | padding: 40px; 12 | } 13 | -------------------------------------------------------------------------------- /3. Reordering-Content/finished.js: -------------------------------------------------------------------------------- 1 | const shuffleBtn = document.getElementById('shuffleBtn'); 2 | const items = [...document.querySelectorAll('.grid-item')]; 3 | 4 | shuffleBtn.addEventListener('click', () => { 5 | items.forEach((item) => { 6 | const random = Math.floor(Math.random() * 4); 7 | item.setAttribute('style', `order: ${random};`); 8 | }); 9 | }); 10 | -------------------------------------------------------------------------------- /8. Responsive-2-column-with-footer/finished.css: -------------------------------------------------------------------------------- 1 | .grid-container { 2 | display: grid; 3 | grid-gap: 20px; 4 | } 5 | 6 | @media (min-width: 786px) { 7 | .grid-container { 8 | grid-template-columns: repeat(3, 1fr); 9 | } 10 | 11 | .header { 12 | grid-column: span 3; 13 | } 14 | 15 | .main { 16 | grid-column: span 2; 17 | } 18 | 19 | .footer { 20 | grid-column: span 3; 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /10. Checkerboard-layout/finished.css: -------------------------------------------------------------------------------- 1 | .row { 2 | display: grid; 3 | grid-template-columns: repeat(2, 1fr); 4 | align-items: stretch; 5 | color: white; 6 | } 7 | 8 | .row__image { 9 | width: 100%; 10 | object-fit: cover; 11 | height: 400px; 12 | } 13 | 14 | .row__details { 15 | padding: 20px; 16 | } 17 | 18 | @media (max-width: 786px) { 19 | .row { 20 | grid-template-columns: 1fr; 21 | } 22 | 23 | .row__image { 24 | grid-row: -1; 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /3. Reordering-Content/finished.css: -------------------------------------------------------------------------------- 1 | .grid-container { 2 | display: grid; 3 | grid-gap: 20px; 4 | } 5 | 6 | .btn { 7 | padding: 15px 20px; 8 | border-radius: 5px; 9 | margin-bottom: 20px; 10 | font-size: 18px; 11 | text-transform: uppercase; 12 | cursor: pointer; 13 | } 14 | 15 | @media (max-width: 786px) { 16 | .item1 { 17 | order: 3; 18 | } 19 | .item2 { 20 | order: 4; 21 | } 22 | .item3 { 23 | order: 1; 24 | } 25 | .item4 { 26 | order: 2; 27 | } 28 | } 29 | -------------------------------------------------------------------------------- /1. responsive-3-column-grid/finished.css: -------------------------------------------------------------------------------- 1 | .grid-container { 2 | display: grid; 3 | grid-template-columns: 200px 1fr 200px; 4 | grid-gap: 20px; 5 | } 6 | 7 | @media (max-width: 1000px) { 8 | .grid-container { 9 | /* grid-template-columns: 1fr; */ 10 | grid-template-columns: 200px 1fr; 11 | } 12 | 13 | .item3 { 14 | grid-column: span 2; 15 | } 16 | } 17 | 18 | @media (max-width: 786px) { 19 | .grid-container { 20 | /* grid-template-columns: 1fr; */ 21 | grid-template-columns: 1fr; 22 | } 23 | .item3 { 24 | grid-column: span 1; 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /4. Responsive-Navbar/finished.css: -------------------------------------------------------------------------------- 1 | .nav { 2 | display: grid; 3 | grid-template-columns: 1fr auto; 4 | align-items: center; 5 | padding: 20px; 6 | color: white; 7 | } 8 | 9 | .nav__items { 10 | display: grid; 11 | grid-gap: 20px; 12 | grid-auto-flow: column; 13 | list-style: none; 14 | padding-inline-start: 0; 15 | } 16 | 17 | .nav__brand { 18 | font-size: 24px; 19 | font-weight: 700; 20 | } 21 | 22 | @media (max-width: 1000px) { 23 | } 24 | 25 | @media (max-width: 786px) { 26 | .nav { 27 | grid-template-columns: 1fr; 28 | justify-items: center; 29 | } 30 | } 31 | -------------------------------------------------------------------------------- /9. Responsive-2-column-with-footer (grid areas)/finished.css: -------------------------------------------------------------------------------- 1 | .grid-container { 2 | display: grid; 3 | grid-gap: 20px; 4 | grid-template-areas: 5 | 'header' 6 | 'sidebar' 7 | 'main' 8 | 'footer'; 9 | } 10 | 11 | .header { 12 | grid-area: header; 13 | } 14 | 15 | .main { 16 | grid-area: main; 17 | } 18 | 19 | .sidebar { 20 | grid-area: sidebar; 21 | } 22 | 23 | .footer { 24 | grid-area: footer; 25 | } 26 | 27 | @media (min-width: 786px) { 28 | .grid-container { 29 | grid-template-areas: 30 | 'header header header' 31 | 'sidebar main main' 32 | 'footer footer footer'; 33 | } 34 | } 35 | -------------------------------------------------------------------------------- /7. Responsive-Card-Gallery/start.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | Document 8 | 9 | 10 | 11 | 12 |
13 |

✨Responsive (HP) Card Gallery ✨

14 | 15 |
16 | 17 | 18 | 19 | -------------------------------------------------------------------------------- /2. Centered-Content/start.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | Document 8 | 9 | 10 | 11 | 12 | 13 |
14 |

Centered Content with Grid

15 |
16 |

Centered Title!

17 |
18 |
19 | 20 | 21 | -------------------------------------------------------------------------------- /7. Responsive-Card-Gallery/finished.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | Document 8 | 9 | 10 | 11 | 12 |
13 |

✨Responsive (HP) Card Gallery ✨

14 | 15 |
16 | 17 | 18 | 19 | -------------------------------------------------------------------------------- /2. Centered-Content/finished.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | Document 8 | 9 | 10 | 11 | 12 | 13 |
14 |

Centered Content with Grid

15 |
16 |

Centered Title!

17 |
18 |
19 | 20 | 21 | -------------------------------------------------------------------------------- /5. Asymetric-Dashboard/finished.css: -------------------------------------------------------------------------------- 1 | .dashboard { 2 | display: grid; 3 | grid-template-columns: repeat(6, 1fr); 4 | grid-gap: 20px; 5 | } 6 | 7 | .item { 8 | border: 1px solid; 9 | border-radius: 3px; 10 | box-shadow: 1px 1px 4px #ccc; 11 | border: 1px solid #ccc; 12 | height: 100px; 13 | display: grid; 14 | align-items: center; 15 | justify-items: center; 16 | } 17 | 18 | .item:hover { 19 | box-shadow: 4px 4px 4px #ccc; 20 | cursor: pointer; 21 | } 22 | 23 | .main { 24 | grid-column: span 3; 25 | } 26 | 27 | .secondary { 28 | grid-column: span 2; 29 | } 30 | 31 | @media (max-width: 786px) { 32 | .dashboard { 33 | grid-template-columns: 1fr; 34 | } 35 | 36 | .dashboard > * { 37 | grid-column: span 1; 38 | } 39 | } 40 | -------------------------------------------------------------------------------- /global.css: -------------------------------------------------------------------------------- 1 | html { 2 | box-sizing: border-box; 3 | font-family: sans-serif; 4 | } 5 | 6 | body { 7 | /* background-image: linear-gradient(to bottom right, #eee, #bbb); */ 8 | min-height: 100vh; 9 | padding: 0; 10 | margin: 0; 11 | } 12 | 13 | .container { 14 | max-width: 1200px; 15 | margin: 0 auto; 16 | padding: 50px 20px; 17 | } 18 | 19 | .text-center { 20 | text-align: center; 21 | } 22 | 23 | .blue { 24 | background-color: royalblue; 25 | } 26 | .orange { 27 | background-color: peru; 28 | } 29 | .red { 30 | background-color: palevioletred; 31 | } 32 | 33 | .green { 34 | background-color: seagreen; 35 | } 36 | 37 | .grid-item { 38 | color: white; 39 | border-radius: 5px; 40 | padding: 20px; 41 | box-shadow: 1px 1px 4px #ccc; 42 | } 43 | 44 | .title { 45 | text-align: center; 46 | margin-bottom: 40px; 47 | } 48 | -------------------------------------------------------------------------------- /4. Responsive-Navbar/start.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | Document 8 | 9 | 10 | 11 | 12 | 22 |
23 |

Responsive Navbar

24 |
25 | 26 | 27 | -------------------------------------------------------------------------------- /4. Responsive-Navbar/finished.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | Document 8 | 9 | 10 | 11 | 12 | 22 |
23 |

Responsive Navbar

24 |
25 | 26 | 27 | -------------------------------------------------------------------------------- /7. Responsive-Card-Gallery/finished.css: -------------------------------------------------------------------------------- 1 | .gallery { 2 | display: grid; 3 | grid-template-columns: repeat(auto-fit, minmax(320px, 1fr)); 4 | grid-template: 20px; 5 | grid-gap: 20px; 6 | padding-inline-start: 0; 7 | list-style: none; 8 | } 9 | 10 | .card { 11 | display: grid; 12 | grid-template-columns: 1fr 3fr; 13 | grid-gap: 20px; 14 | box-shadow: 1px 1px 4px #ccc; 15 | border: 1px solid #ccc; 16 | align-items: center; 17 | /* padding: 10px; */ 18 | border-radius: 3px; 19 | transition: all 250ms; 20 | } 21 | 22 | .card:hover { 23 | box-shadow: 4px 4px 4px #ccc; 24 | cursor: pointer; 25 | } 26 | 27 | .card__image > img { 28 | height: 160px; 29 | width: 100%; 30 | object-fit: cover; 31 | display: block; 32 | border-radius: 2px 0 0 2px; 33 | } 34 | 35 | .card__title { 36 | margin-bottom: 0; 37 | } 38 | .card__details { 39 | margin-top: 5px; 40 | } 41 | 42 | @media (max-width: 1000px) { 43 | } 44 | 45 | @media (max-width: 786px) { 46 | } 47 | -------------------------------------------------------------------------------- /7. Responsive-Card-Gallery/finished.js: -------------------------------------------------------------------------------- 1 | const charactersList = document.getElementById('charactersList'); 2 | 3 | const loadCharacters = async () => { 4 | try { 5 | const res = await fetch('https://hp-api.herokuapp.com/api/characters'); 6 | hpCharacters = await res.json(); 7 | displayCharacters(hpCharacters); 8 | } catch (err) { 9 | console.error(err); 10 | } 11 | }; 12 | 13 | const displayCharacters = (characters) => { 14 | const htmlString = characters 15 | .map((character) => { 16 | return ` 17 |
  • 18 |
    19 | 20 |
    21 |
    22 |

    ${character.name}

    23 |

    House: ${character.house}

    24 |
    25 |
  • 26 | `; 27 | }) 28 | .join(''); 29 | charactersList.innerHTML = htmlString; 30 | }; 31 | 32 | loadCharacters(); 33 | -------------------------------------------------------------------------------- /5. Asymetric-Dashboard/start.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | Document 8 | 9 | 10 | 11 | 12 |
    13 |

    Asymetric Dashboard

    14 | 15 |
    16 |
    17 |
    Section 1
    18 |
    Section 2
    19 |
    Section 3
    20 |
    Section 4
    21 |
    Section 5
    22 |
    23 |
    24 | 25 | 26 | 27 | -------------------------------------------------------------------------------- /3. Reordering-Content/start.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | Document 8 | 9 | 10 | 11 | 12 | 13 |
    14 |

    Reordering Content

    15 | 16 |
    17 |
    18 | Item 1 19 |
    20 |
    21 | Item 2 22 |
    23 |
    24 | Item 3 25 |
    26 |
    27 | Item 4 28 |
    29 |
    30 |
    31 | 32 | 33 | 34 | -------------------------------------------------------------------------------- /5. Asymetric-Dashboard/finished.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | Document 8 | 9 | 10 | 11 | 12 |
    13 |

    Asymetric Dashboard

    14 | 15 |
    16 |
    17 |
    Section 1
    18 |
    Section 2
    19 |
    Section 3
    20 |
    Section 4
    21 |
    Section 5
    22 |
    23 |
    24 | 25 | 26 | 27 | -------------------------------------------------------------------------------- /3. Reordering-Content/finished.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | Document 8 | 9 | 10 | 11 | 12 | 13 |
    14 |

    Reordering Content

    15 | 16 |
    17 |
    18 | Item 1 19 |
    20 |
    21 | Item 2 22 |
    23 |
    24 | Item 3 25 |
    26 |
    27 | Item 4 28 |
    29 |
    30 |
    31 | 32 | 33 | 34 | -------------------------------------------------------------------------------- /6. Asymetric-Gallery-Layout/finished.css: -------------------------------------------------------------------------------- 1 | .grid-container { 2 | display: grid; 3 | grid-gap: 20px; 4 | grid-template-columns: repeat(3, 1fr); 5 | grid-template-rows: repeat(3, 160px); 6 | } 7 | 8 | .img { 9 | height: 100%; 10 | width: 100%; 11 | object-fit: cover; 12 | } 13 | 14 | .gallery-img { 15 | position: relative; 16 | overflow: hidden; 17 | } 18 | 19 | .gallery-img:hover .overlay { 20 | transform: translateY(0); 21 | } 22 | 23 | .overlay { 24 | position: absolute; 25 | top: 0; 26 | left: 0; 27 | right: 0; 28 | bottom: 0; 29 | background-color: rgba(0, 0, 0, 0.5); 30 | display: grid; 31 | color: white; 32 | justify-items: center; 33 | align-items: center; 34 | font-size: 24px; 35 | transform: translateY(-100%); 36 | transition: 0.2s; 37 | } 38 | 39 | .featured { 40 | grid-row: 1 / span 2; 41 | grid-column: 1 / span 2; 42 | } 43 | 44 | @media (max-width: 786px) { 45 | .grid-container { 46 | grid-template-columns: 1fr 1fr; 47 | grid-template-rows: 300px; 48 | grid-auto-rows: 160; 49 | } 50 | 51 | .featured { 52 | grid-row: span 1; 53 | grid-column: span 2; 54 | } 55 | 56 | .overlay { 57 | font-size: 16px; 58 | } 59 | } 60 | 61 | @media (max-width: 500px) { 62 | .grid-container { 63 | grid-template-columns: 1fr; 64 | } 65 | 66 | .grid-container > * { 67 | grid-column: 1 / span 1; 68 | } 69 | } 70 | -------------------------------------------------------------------------------- /ReadMe.md: -------------------------------------------------------------------------------- 1 | # Getting Started with CSS Grid By Example 2 | 3 | This project contains different examples of using CSS Grid. Hopefully, you will find them informative and useful! 4 | 5 | For each example, there is a set of starter files and finished files. Open the finished files to see what you need to build. Then, open up the starter files to see if you can complete the example on your own. 6 | 7 | 1. Responsive 3 Column Grid 8 | ![Example 1](https://github.com/jamesqquick/Getting-Started-with-CSS-Grid-by-Example/raw/master/media/1.png) 9 | 10 | 2. Centered Content 11 | ![Example 2](https://github.com/jamesqquick/Getting-Started-with-CSS-Grid-by-Example/raw/master/media/2.png) 12 | 13 | 3. Reordered Content 14 | ![Example 3](https://github.com/jamesqquick/Getting-Started-with-CSS-Grid-by-Example/raw/master/media/3.png) 15 | 16 | 4. Responsive Navbar 17 | ![Example 4](https://github.com/jamesqquick/Getting-Started-with-CSS-Grid-by-Example/raw/master/media/4.png) 18 | 19 | 5. Asymetric Dashboard 20 | ![Example 5](https://github.com/jamesqquick/Getting-Started-with-CSS-Grid-by-Example/raw/master/media/5.png) 21 | 22 | 6. Responsive Card Gallery 23 | ![Example 6](https://github.com/jamesqquick/Getting-Started-with-CSS-Grid-by-Example/raw/master/media/7.png) 24 | 25 | 7. Asymetric Gallery Layout 26 | 27 | ![Example 7](https://github.com/jamesqquick/Getting-Started-with-CSS-Grid-by-Example/raw/master/media/6.png) 28 | 29 | 8. Responsive 2 Column with Footer 30 | ![Example 8](https://github.com/jamesqquick/Getting-Started-with-CSS-Grid-by-Example/raw/master/media/8.png) 31 | 32 | 9. Responsive 2 Column Grid with Footer (Grid Areas) 33 | ![Example 9](https://github.com/jamesqquick/Getting-Started-with-CSS-Grid-by-Example/raw/master/media/8.png) 34 | 35 | 10. Checkerboard Layout 36 | ![Example 10](https://github.com/jamesqquick/Getting-Started-with-CSS-Grid-by-Example/raw/master/media/10.png) 37 | -------------------------------------------------------------------------------- /1. responsive-3-column-grid/start.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | Document 8 | 9 | 10 | 11 | 12 |
    13 |

    Responsive 3 Column Grid

    14 |
    15 |
    16 | Lorem ipsum dolor sit amet consectetur adipisicing elit. 17 | Quam fuga labore placeat at eos. 18 |
    19 |
    20 | Lorem ipsum dolor sit, amet consectetur adipisicing elit. 21 | Sed ea, repellendus culpa ut et a consequatur recusandae 22 | iste possimus suscipit praesentium id, soluta molestias, 23 | tempore tenetur debitis. Repellat, nostrum recusandae. Lorem 24 | ipsum dolor sit, amet consectetur adipisicing elit. Sed ea, 25 | repellendus culpa ut et a consequatur recusandae iste 26 | possimus suscipit praesentium id, soluta molestias, tempore 27 | tenetur debitis. Repellat, nostrum recusandae. 28 |
    29 |
    30 | Lorem ipsum dolor sit amet consectetur adipisicing elit. 31 | Laudantium officia dolores vel error eveniet esse obcaecati 32 | corrupti. 33 |
    34 |
    35 |
    36 | 37 | 38 | -------------------------------------------------------------------------------- /1. responsive-3-column-grid/finished.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | Document 8 | 9 | 10 | 11 | 12 |
    13 |

    Responsive 3 Column Grid

    14 |
    15 |
    16 | Lorem ipsum dolor sit amet consectetur adipisicing elit. 17 | Quam fuga labore placeat at eos. 18 |
    19 |
    20 | Lorem ipsum dolor sit, amet consectetur adipisicing elit. 21 | Sed ea, repellendus culpa ut et a consequatur recusandae 22 | iste possimus suscipit praesentium id, soluta molestias, 23 | tempore tenetur debitis. Repellat, nostrum recusandae. Lorem 24 | ipsum dolor sit, amet consectetur adipisicing elit. Sed ea, 25 | repellendus culpa ut et a consequatur recusandae iste 26 | possimus suscipit praesentium id, soluta molestias, tempore 27 | tenetur debitis. Repellat, nostrum recusandae. 28 |
    29 |
    30 | Lorem ipsum dolor sit amet consectetur adipisicing elit. 31 | Laudantium officia dolores vel error eveniet esse obcaecati 32 | corrupti. 33 |
    34 |
    35 |
    36 | 37 | 38 | -------------------------------------------------------------------------------- /8. Responsive-2-column-with-footer/start.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | Document 8 | 9 | 10 | 11 | 12 |
    13 |

    Responsive 2 Column With Footer

    14 | 15 |
    16 |
    17 |
    18 |

    Header Title

    19 |

    Lorem ipsum dolor sit amet.

    20 |
    21 | 32 |
    33 |

    Main Content

    34 |

    35 | Lorem ipsum dolor sit amet consectetur adipisicing elit. 36 | Nisi a voluptas ratione quo, fugiat accusantium 37 | provident laborum quis voluptatibus quisquam obcaecati, 38 | perspiciatis corrupti optio architecto rerum iste 39 | asperiores beatae maxime. 40 |

    41 |

    42 | Lorem ipsum dolor sit amet, consectetur adipisicing 43 | elit. Dicta alias commodi ex aspernatur culpa, magni 44 | laborum! In, dolore tenetur pariatur rem aliquam 45 | repellendus quod, aspernatur, facilis autem ipsam 46 | distinctio deserunt. 47 |

    48 |
    49 | 57 |
    58 |
    59 | 60 | 61 | 62 | -------------------------------------------------------------------------------- /8. Responsive-2-column-with-footer/finished.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | Document 8 | 9 | 10 | 11 | 12 |
    13 |

    Responsive 2 Column With Footer

    14 | 15 |
    16 |
    17 |
    18 |

    Header Title

    19 |

    Lorem ipsum dolor sit amet.

    20 |
    21 | 32 |
    33 |

    Main Content

    34 |

    35 | Lorem ipsum dolor sit amet consectetur adipisicing elit. 36 | Nisi a voluptas ratione quo, fugiat accusantium 37 | provident laborum quis voluptatibus quisquam obcaecati, 38 | perspiciatis corrupti optio architecto rerum iste 39 | asperiores beatae maxime. 40 |

    41 |

    42 | Lorem ipsum dolor sit amet, consectetur adipisicing 43 | elit. Dicta alias commodi ex aspernatur culpa, magni 44 | laborum! In, dolore tenetur pariatur rem aliquam 45 | repellendus quod, aspernatur, facilis autem ipsam 46 | distinctio deserunt. 47 |

    48 |
    49 | 57 |
    58 |
    59 | 60 | 61 | 62 | -------------------------------------------------------------------------------- /9. Responsive-2-column-with-footer (grid areas)/start.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | Document 8 | 9 | 10 | 11 | 12 | 13 |
    14 |

    Responsive 2 Column With Footer

    15 | 22 |
    23 |
    24 |
    25 |

    Header Title

    26 |

    Lorem ipsum dolor sit amet.

    27 |
    28 | 39 |
    40 |

    Main Content

    41 |

    42 | Lorem ipsum dolor sit amet consectetur adipisicing elit. 43 | Nisi a voluptas ratione quo, fugiat accusantium 44 | provident laborum quis voluptatibus quisquam obcaecati, 45 | perspiciatis corrupti optio architecto rerum iste 46 | asperiores beatae maxime. 47 |

    48 |

    49 | Lorem ipsum dolor sit amet, consectetur adipisicing 50 | elit. Dicta alias commodi ex aspernatur culpa, magni 51 | laborum! In, dolore tenetur pariatur rem aliquam 52 | repellendus quod, aspernatur, facilis autem ipsam 53 | distinctio deserunt. 54 |

    55 |
    56 | 64 |
    65 |
    66 | 67 | 68 | 69 | -------------------------------------------------------------------------------- /9. Responsive-2-column-with-footer (grid areas)/finished.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | Document 8 | 9 | 10 | 11 | 12 | 13 |
    14 |

    Responsive 2 Column With Footer

    15 | 22 |
    23 |
    24 |
    25 |

    Header Title

    26 |

    Lorem ipsum dolor sit amet.

    27 |
    28 | 39 |
    40 |

    Main Content

    41 |

    42 | Lorem ipsum dolor sit amet consectetur adipisicing elit. 43 | Nisi a voluptas ratione quo, fugiat accusantium 44 | provident laborum quis voluptatibus quisquam obcaecati, 45 | perspiciatis corrupti optio architecto rerum iste 46 | asperiores beatae maxime. 47 |

    48 |

    49 | Lorem ipsum dolor sit amet, consectetur adipisicing 50 | elit. Dicta alias commodi ex aspernatur culpa, magni 51 | laborum! In, dolore tenetur pariatur rem aliquam 52 | repellendus quod, aspernatur, facilis autem ipsam 53 | distinctio deserunt. 54 |

    55 |
    56 | 64 |
    65 |
    66 | 67 | 68 | 69 | -------------------------------------------------------------------------------- /10. Checkerboard-layout/start.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | Document 8 | 9 | 10 | 11 | 12 |

    Checkerboard Layout

    13 |
    14 |
    15 | House in the netherlands 20 |
    21 |

    The Netherlands

    22 |

    23 | Lorem ipsum dolor sit amet consectetur adipisicing elit. 24 | Vero explicabo, consequatur odit unde animi natus porro 25 | tempore modi consectetur! Distinctio esse modi enim 26 | repellat unde recusandae mollitia? Exercitationem, 27 | facilis totam! 28 |

    29 |
    30 |
    31 |
    32 |
    33 |

    New York City Skyline

    34 |

    35 | Lorem ipsum dolor sit amet consectetur adipisicing elit. 36 | Vero explicabo, consequatur odit unde animi natus porro 37 | tempore modi consectetur! Distinctio esse modi enim 38 | repellat unde recusandae mollitia? Exercitationem, 39 | facilis totam! 40 |

    41 |
    42 | New York City Skyline 47 |
    48 |
    49 | London Bridge 54 |
    55 |

    london Bridge

    56 |

    57 | Lorem ipsum dolor sit amet consectetur adipisicing elit. 58 | Vero explicabo, consequatur odit unde animi natus porro 59 | tempore modi consectetur! Distinctio esse modi enim 60 | repellat unde recusandae mollitia? Exercitationem, 61 | facilis totam! 62 |

    63 |
    64 |
    65 |
    66 | 67 | 68 | 69 | -------------------------------------------------------------------------------- /10. Checkerboard-layout/finished.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | Document 8 | 9 | 10 | 11 | 12 |

    Checkerboard Layout

    13 |
    14 |
    15 | House in the netherlands 20 |
    21 |

    The Netherlands

    22 |

    23 | Lorem ipsum dolor sit amet consectetur adipisicing elit. 24 | Vero explicabo, consequatur odit unde animi natus porro 25 | tempore modi consectetur! Distinctio esse modi enim 26 | repellat unde recusandae mollitia? Exercitationem, 27 | facilis totam! 28 |

    29 |
    30 |
    31 |
    32 |
    33 |

    New York City Skyline

    34 |

    35 | Lorem ipsum dolor sit amet consectetur adipisicing elit. 36 | Vero explicabo, consequatur odit unde animi natus porro 37 | tempore modi consectetur! Distinctio esse modi enim 38 | repellat unde recusandae mollitia? Exercitationem, 39 | facilis totam! 40 |

    41 |
    42 | New York City Skyline 47 |
    48 |
    49 | London Bridge 54 |
    55 |

    london Bridge

    56 |

    57 | Lorem ipsum dolor sit amet consectetur adipisicing elit. 58 | Vero explicabo, consequatur odit unde animi natus porro 59 | tempore modi consectetur! Distinctio esse modi enim 60 | repellat unde recusandae mollitia? Exercitationem, 61 | facilis totam! 62 |

    63 |
    64 |
    65 |
    66 | 67 | 68 | 69 | -------------------------------------------------------------------------------- /6. Asymetric-Gallery-Layout/start.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | Document 8 | 9 | 10 | 11 | 12 |
    13 |

    Asymetric Gallery Layout

    14 |
    15 | 25 | 35 | 36 | 46 | 47 | 57 | 67 | 77 |
    78 |
    79 | 80 | 81 | -------------------------------------------------------------------------------- /6. Asymetric-Gallery-Layout/finished.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | Document 8 | 9 | 10 | 11 | 12 |
    13 |

    Asymetric Gallery Layout

    14 |
    15 | 25 | 35 | 36 | 46 | 47 | 57 | 67 | 77 |
    78 |
    79 | 80 | 81 | --------------------------------------------------------------------------------