Skip to content

Commit 1ac5fa8

Browse files
authored
Merge pull request #7 from owen-webb/section-8
section-8: Responsive
2 parents 85daa46 + 3899391 commit 1ac5fa8

File tree

4 files changed

+294
-6
lines changed

4 files changed

+294
-6
lines changed

starter/08-Omnifood-Responsive/css/general.css

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -67,13 +67,15 @@ html {
6767
/* 10px / 16px = 0.625 = 62.5% */
6868
/* Percentage of user's browser font-size setting */
6969
font-size: 62.5%;
70+
overflow-x: hidden;
7071
}
7172

7273
body {
7374
font-family: "Rubik", sans-serif;
7475
line-height: 1;
7576
font-weight: 400;
7677
color: #555;
78+
overflow-x: hidden;
7779
}
7880

7981
/**************************/
@@ -249,6 +251,7 @@ body {
249251
display: flex;
250252
align-items: center;
251253
gap: 1.6rem;
254+
line-height: 1.2;
252255
}
253256

254257
.list-icon {
Lines changed: 257 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,257 @@
1+
/* 1rem = 1em = 16px */
2+
3+
/*** BELOW 1344px (smaller desktops) ***/
4+
@media (max-width: 84em) {
5+
.hero {
6+
max-width: 120rem;
7+
}
8+
9+
.heading-primary {
10+
font-size: 4.4rem;
11+
}
12+
13+
.gallery {
14+
grid-template-columns: repeat(2, 1fr);
15+
}
16+
}
17+
18+
/*** BELOW 1200px (landscape tablets) ***/
19+
@media (max-width: 75em) {
20+
html {
21+
font-size: 56.25%;
22+
}
23+
24+
.grid {
25+
column-gap: 4.8rem;
26+
row-gap: 6.4rem;
27+
}
28+
29+
.heading-secondary {
30+
font-size: 3.6rem;
31+
}
32+
33+
.heading-tertiary {
34+
font-size: 2.4rem;
35+
}
36+
37+
.header {
38+
padding: 0 3.2rem;
39+
}
40+
41+
.main-nav-list {
42+
gap: 3.2rem;
43+
}
44+
45+
.testimonials-container {
46+
padding: 9.6rem 3.2rem;
47+
}
48+
49+
.hero {
50+
gap: 4.8rem;
51+
}
52+
}
53+
54+
/*** BELOW 944px (tablets) ***/
55+
@media (max-width: 59em) {
56+
html {
57+
font-size: 50%;
58+
}
59+
60+
.hero {
61+
grid-template-columns: 1fr;
62+
padding: 0 8rem;
63+
gap: 6.4rem;
64+
}
65+
66+
.hero-img {
67+
width: 60%;
68+
}
69+
70+
.hero-text-box, .hero-img-box {
71+
text-align: center;
72+
}
73+
74+
.delivered-meals {
75+
justify-content: center;
76+
margin-top: 3.2rem;
77+
}
78+
79+
.logos img {
80+
height: 2.4rem;
81+
}
82+
83+
.step-number {
84+
font-size: 7.4rem;
85+
}
86+
87+
.meal-content {
88+
padding: 2.4rem 3.2rem 3.2rem 3.2rem;
89+
}
90+
91+
.section-testimonials {
92+
grid-template-columns: 1fr;
93+
}
94+
95+
.gallery {
96+
grid-template-columns: repeat(6, 1fr);
97+
}
98+
99+
.cta {
100+
grid-template-columns: 3fr 2fr;
101+
}
102+
103+
.cta-form {
104+
grid-template-columns: 1fr;
105+
}
106+
107+
.btn--form {
108+
margin-top: 1.2rem;
109+
}
110+
111+
.btn-mobile-nav {
112+
display: block;
113+
}
114+
115+
.main-nav {
116+
background-color: rgba(255, 255, 255, 0.97);
117+
position: absolute;
118+
top: 0;
119+
left: 0;
120+
width: 100%;
121+
height: 100vh;
122+
transform: translateX(100%);
123+
124+
display: flex;
125+
align-items: center;
126+
justify-content: center;
127+
transition: all 500ms ease-in;
128+
129+
opacity: 0;
130+
pointer-events: none;
131+
visibility: hidden;
132+
}
133+
134+
.nav-open .main-nav {
135+
opacity: 1;
136+
pointer-events: auto;
137+
visibility: visible;
138+
transform: translate(0);
139+
}
140+
141+
.nav-open .icon-mobile-nav[name="close-outline"] {
142+
display: block;
143+
}
144+
145+
.nav-open .icon-mobile-nav[name="menu-outline"] {
146+
display: none;
147+
}
148+
149+
.main-nav-list {
150+
flex-direction: column;
151+
gap: 4.8rem;
152+
}
153+
154+
.main-nav-link:link, .main-nav-link:visited {
155+
font-size: 3rem;
156+
}
157+
}
158+
159+
/* BELOW 704px (smaller tablets) */
160+
@media(max-width: 44em) {
161+
.grid--3-cols, .grid--4-cols {
162+
grid-template-columns: repeat(2, 1fr);
163+
}
164+
165+
.diets {
166+
grid-column: 1 / -1;
167+
justify-self: center;
168+
}
169+
170+
.heading-secondary {
171+
margin-bottom: 4.8rem;
172+
}
173+
174+
.pricing-plan {
175+
width: 100%;
176+
}
177+
178+
.grid-footer {
179+
grid-template-columns: repeat(6, 1fr);
180+
}
181+
182+
.nav-col {
183+
grid-row: 1;
184+
grid-column: span 2;
185+
margin-bottom: 3.2rem;
186+
}
187+
188+
.logo-col, .address-col {
189+
grid-column: span 3;
190+
}
191+
}
192+
193+
194+
/* BELOW 544px (mobile devices) */
195+
@media(max-width: 34em) {
196+
.grid {
197+
row-gap: 4.8rem;
198+
}
199+
200+
.grid--2-cols, .grid--3-cols, .grid--4-cols {
201+
grid-template-columns: 1fr;
202+
}
203+
204+
.bth, .bth:link, .btn:visited {
205+
padding: 2.4rem 1.6rem;
206+
}
207+
208+
.hero {
209+
padding: 0 3.2rem;
210+
}
211+
212+
.section-hero {
213+
padding: 2.4rem 0 6.4rem 0;
214+
}
215+
216+
.hero-img {
217+
width: 80%;
218+
}
219+
220+
.logos img {
221+
height: 1.2rem;
222+
}
223+
224+
.step-img-box:nth-child(2) {
225+
grid-row: 1;
226+
}
227+
228+
.step-img-box:nth-child(6) {
229+
grid-row: 5;
230+
}
231+
232+
.step-img-box {
233+
transform: translateY(2.4rem);
234+
}
235+
236+
.testimonials {
237+
grid-template-columns: 1fr;
238+
}
239+
240+
.gallery {
241+
grid-template-columns: repeat(4, 1fr);
242+
gap: 1.2rem
243+
}
244+
245+
.cta {
246+
grid-template-columns: 1fr;
247+
}
248+
249+
.cta-img-box {
250+
height: 32rem;
251+
grid-row: 1;
252+
}
253+
254+
.cta-text-box {
255+
padding: 3.2rem;
256+
}
257+
}

starter/08-Omnifood-Responsive/css/style.css

Lines changed: 25 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@
1111
/* Because we want header to be sticky later */
1212
height: 9.6rem;
1313
padding: 0 4.8rem;
14+
position: relative;
1415
}
1516

1617
.logo {
@@ -56,6 +57,26 @@
5657
background-color: #cf711f;
5758
}
5859

60+
/* MOBILE */
61+
62+
.btn-mobile-nav {
63+
border: none;
64+
background: none;
65+
cursor: pointer;
66+
67+
display: none;
68+
}
69+
70+
.icon-mobile-nav {
71+
height: 4.8rem;
72+
width: 4.8rem;
73+
color: #333;
74+
}
75+
76+
.icon-mobile-nav[name="close-outline"] {
77+
display: none;
78+
}
79+
5980
/**************************/
6081
/* HERO SECTION */
6182
/**************************/
@@ -363,26 +384,26 @@
363384
padding: 9.6rem 0;
364385
}
365386

366-
.princing-plan {
387+
.pricing-plan {
367388
border-radius: 11px;
368389

369390
width: 75%;
370391
}
371392

372-
.princing-plan--starter {
393+
.pricing-plan--starter {
373394
justify-self: end;
374395
border: 2px solid #fdf2e9;
375396
padding: 4.6rem;
376397
}
377398

378-
.princing-plan--complete {
399+
.pricing-plan--complete {
379400
background-color: #fdf2e9;
380401
padding: 4.8rem;
381402
position: relative;
382403
overflow: hidden;
383404
}
384405

385-
.princing-plan--complete::after {
406+
.pricing-plan--complete::after {
386407
content: "Best value";
387408
position: absolute;
388409
top: 6%;

starter/08-Omnifood-Responsive/index.html

Lines changed: 9 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@
1313

1414
<link rel="stylesheet" href="css/general.css" />
1515
<link rel="stylesheet" href="css/style.css" />
16+
<link rel="stylesheet" href="css/queries.css">
1617

1718
<script
1819
type="module"
@@ -30,6 +31,7 @@
3031
<a href="#">
3132
<img class="logo" alt="Omnifood logo" src="img/omnifood-logo.png" />
3233
</a>
34+
3335
<nav class="main-nav">
3436
<ul class="main-nav-list">
3537
<li><a class="main-nav-link" href="#">How it works</a></li>
@@ -39,6 +41,11 @@
3941
<li><a class="main-nav-link nav-cta" href="#">Try for free</a></li>
4042
</ul>
4143
</nav>
44+
45+
<button class="btn-mobile-nav">
46+
<ion-icon class="icon-mobile-nav" name="menu-outline"></ion-icon>
47+
<ion-icon class="icon-mobile-nav" name="close-outline"></ion-icon>
48+
</button>
4249
</header>
4350

4451
<main>
@@ -449,7 +456,7 @@ <h2 class="heading-secondary">
449456
</div>
450457

451458
<div class="container grid grid--2-cols margin-bottom-md">
452-
<div class="princing-plan princing-plan--starter">
459+
<div class="pricing-plan pricing-plan--starter">
453460
<header class="plan-header">
454461
<p class="plan-name">Starter</p>
455462
<p class="plan-price"><span>$</span>399</p>
@@ -477,7 +484,7 @@ <h2 class="heading-secondary">
477484
</div>
478485
</div>
479486

480-
<div class="princing-plan princing-plan--complete">
487+
<div class="pricing-plan pricing-plan--complete">
481488
<header class="plan-header">
482489
<p class="plan-name">Complete</p>
483490
<p class="plan-price"><span>$</span>649</p>

0 commit comments

Comments
 (0)