Skip to content
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.

Commit faa47da

Browse files
authoredJan 13, 2022
Merge pull request TheOdinProject#106 from dm-murphy/feature/grid-exercise-2
Add Holy Grail exercise 2 to Grid exercises
2 parents d66f8bd + 604aa37 commit faa47da

File tree

7 files changed

+182
-0
lines changed

7 files changed

+182
-0
lines changed
 

‎grid/02-grid-layout-2/README.md

Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
# Responsive Holy Grail Layout with Grid
2+
3+
This one is easy! We are going to take our Holy Grail Layout from the first exercise and make it responsive. To do this we will simply change our fixed track sizes to be dynamic. Consider this a warmup for the next exercise and make sure your layout is responding properly when resizing the browser window.
4+
5+
### Hints
6+
- You only need to add to the CSS selectors
7+
- Use dynamic track sizes for your columns and rows
8+
9+
## Desired Outcome
10+
11+
When the browser is narrow:
12+
13+
![desired outcome narrow](./desired-outcome-narrow.png)
14+
15+
When the browser is stretched wide:
16+
17+
![desired outcome wide](./desired-outcome-wide.png)
18+
19+
### Self Check
20+
- The gap is 15px
21+
- The grid has two columns
22+
- The grid has four rows
23+
- The grid tracks do not use static sizes (no pixels!)
24+
- The first column is three times larger than the other
25+
- The third row is five times larger than the others
26+
- The rows and columns stretch wider when making the browser window bigger
27+
- The rows and columns stretch taller when making the browser window smaller
Loading
267 KB
Loading

‎grid/02-grid-layout-2/index.html

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
<!DOCTYPE html>
2+
<html lang="en">
3+
<head>
4+
<meta charset="UTF-8">
5+
<meta http-equiv="X-UA-Compatible" content="IE=edge">
6+
<meta name="viewport" content="width=device-width, initial-scale=1.0">
7+
<title>Responsive Holy Grail</title>
8+
<link rel="stylesheet" href="style.css">
9+
</head>
10+
<body>
11+
<div class="container">
12+
<div class="header">Header</div>
13+
<div class="sidebar">Sidebar</div>
14+
<div class="nav">Nav</div>
15+
<div class="article">Article
16+
<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.</p>
17+
<p>Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Curabitur bibendum turpis quis interdum semper. Sed at pharetra neque, nec lacinia diam. Suspendisse quis faucibus mi, aliquam porttitor ipsum. Vivamus condimentum eros id mattis pharetra. Duis varius eros nibh. Donec a venenatis eros. Fusce in mauris massa. Donec est metus, rhoncus eu leo sed, aliquet posuere nisl.</p>
18+
<p>Cras ut ex in nibh accumsan ullamcorper. Fusce rutrum, metus id porta porttitor, leo ipsum congue velit, eu hendrerit lectus nisi a odio. Pellentesque tristique eros id nibh finibus euismod. Cras suscipit volutpat elit eget pulvinar. Vivamus at blandit leo. Aenean sodales ex non massa efficitur, et egestas neque dapibus. In consequat hendrerit ex, nec finibus magna faucibus eu. Aliquam a libero non erat sollicitudin condimentum. In ac fringilla nisi. Sed pharetra ut turpis id luctus. Proin posuere tortor ac tempus luctus. Donec vitae est et neque faucibus posuere. Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos himenaeos.</p>
19+
</div>
20+
<div class="footer">Footer</div>
21+
</div>
22+
</body>
23+
</html>
Lines changed: 59 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,59 @@
1+
body, html {
2+
height: 100%;
3+
margin: 0;
4+
}
5+
6+
.container {
7+
text-align: center;
8+
height: 100%;
9+
padding: 16px;
10+
box-sizing: border-box;
11+
}
12+
13+
.container div {
14+
padding: 15px;
15+
font-size: 32px;
16+
font-family: Helvetica;
17+
font-weight: bold;
18+
color: white;
19+
border-radius: 15px;
20+
}
21+
22+
.header {
23+
background-color: #FFDE22;
24+
grid-column: 1 / 3;
25+
}
26+
27+
.sidebar {
28+
background-color: #FF7755;
29+
grid-row: 2 / 4;
30+
}
31+
32+
.nav {
33+
background-color: #00DDFF;
34+
}
35+
36+
.article {
37+
background-color: #bccbde;
38+
}
39+
40+
.article p {
41+
font-size: 18px;
42+
font-family: sans-serif;
43+
color: white;
44+
text-align: left;
45+
}
46+
47+
.footer {
48+
background-color: #393f4d;
49+
grid-column: 1 / 3;
50+
}
51+
52+
/* SOLUTION */
53+
54+
.container {
55+
display: grid;
56+
grid-template-columns: 1fr 3fr;
57+
grid-template-rows: 1fr 1fr 5fr 1fr;
58+
gap: 15px;
59+
}
Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
<!DOCTYPE html>
2+
<html lang="en">
3+
<head>
4+
<meta charset="UTF-8">
5+
<meta http-equiv="X-UA-Compatible" content="IE=edge">
6+
<meta name="viewport" content="width=device-width, initial-scale=1.0">
7+
<title>Responsive Holy Grail</title>
8+
<link rel="stylesheet" href="solution.css">
9+
</head>
10+
<body>
11+
<div class="container">
12+
<div class="header">Header</div>
13+
<div class="sidebar">Sidebar</div>
14+
<div class="nav">Nav</div>
15+
<div class="article">Article
16+
<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.</p>
17+
<p>Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Curabitur bibendum turpis quis interdum semper. Sed at pharetra neque, nec lacinia diam. Suspendisse quis faucibus mi, aliquam porttitor ipsum. Vivamus condimentum eros id mattis pharetra. Duis varius eros nibh. Donec a venenatis eros. Fusce in mauris massa. Donec est metus, rhoncus eu leo sed, aliquet posuere nisl.</p>
18+
<p>Cras ut ex in nibh accumsan ullamcorper. Fusce rutrum, metus id porta porttitor, leo ipsum congue velit, eu hendrerit lectus nisi a odio. Pellentesque tristique eros id nibh finibus euismod. Cras suscipit volutpat elit eget pulvinar. Vivamus at blandit leo. Aenean sodales ex non massa efficitur, et egestas neque dapibus. In consequat hendrerit ex, nec finibus magna faucibus eu. Aliquam a libero non erat sollicitudin condimentum. In ac fringilla nisi. Sed pharetra ut turpis id luctus. Proin posuere tortor ac tempus luctus. Donec vitae est et neque faucibus posuere. Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos himenaeos.</p>
19+
</div>
20+
<div class="footer">Footer</div>
21+
</div>
22+
</body>
23+
</html>

‎grid/02-grid-layout-2/style.css

Lines changed: 50 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,50 @@
1+
body, html {
2+
height: 100%;
3+
margin: 0;
4+
}
5+
6+
.container {
7+
text-align: center;
8+
height: 100%;
9+
padding: 16px;
10+
box-sizing: border-box;
11+
}
12+
13+
.container div {
14+
padding: 15px;
15+
font-size: 32px;
16+
font-family: Helvetica;
17+
font-weight: bold;
18+
color: white;
19+
border-radius: 15px;
20+
}
21+
22+
.header {
23+
background-color: #FFDE22;
24+
grid-column: 1 / 3;
25+
}
26+
27+
.sidebar {
28+
background-color: #FF7755;
29+
grid-row: 2 / 4;
30+
}
31+
32+
.nav {
33+
background-color: #00DDFF;
34+
}
35+
36+
.article {
37+
background-color: #bccbde;
38+
}
39+
40+
.article p {
41+
font-size: 18px;
42+
font-family: sans-serif;
43+
color: white;
44+
text-align: left;
45+
}
46+
47+
.footer {
48+
background-color: #393f4d;
49+
grid-column: 1 / 3;
50+
}

0 commit comments

Comments
 (0)
Failed to load comments.