new file: INFO-1252 (Front End Dev)/Labs/Lab-5/Lab 5 - Desktop Version - Screenshot.png
new file: INFO-1252 (Front End Dev)/Labs/Lab-5/Lab 5 - Mobile Version - Screenshot.png new file: INFO-1252 (Front End Dev)/Labs/Lab-5/Lab 5 - Tablet Version - Screenshot.png new file: INFO-1252 (Front End Dev)/Labs/Lab-5/images/dinner.jpg new file: INFO-1252 (Front End Dev)/Labs/Lab-5/images/dinnerparty.jpg new file: INFO-1252 (Front End Dev)/Labs/Lab-5/images/nachos.jpg new file: INFO-1252 (Front End Dev)/Labs/Lab-5/images/smileyface.png new file: INFO-1252 (Front End Dev)/Labs/Lab-5/images/squares_bg.png new file: INFO-1252 (Front End Dev)/Labs/Lab-5/index.html new file: INFO-1252 (Front End Dev)/Labs/Lab-5/notes.txt new file: INFO-1252 (Front End Dev)/Labs/Lab-5/styles/main.css
|
After Width: | Height: | Size: 915 KiB |
|
After Width: | Height: | Size: 819 KiB |
|
After Width: | Height: | Size: 467 KiB |
BIN
INFO-1252 (Front End Dev)/Labs/Lab-5/images/dinner.jpg
Normal file
|
After Width: | Height: | Size: 18 KiB |
BIN
INFO-1252 (Front End Dev)/Labs/Lab-5/images/dinnerparty.jpg
Normal file
|
After Width: | Height: | Size: 13 KiB |
BIN
INFO-1252 (Front End Dev)/Labs/Lab-5/images/nachos.jpg
Normal file
|
After Width: | Height: | Size: 30 KiB |
BIN
INFO-1252 (Front End Dev)/Labs/Lab-5/images/smileyface.png
Normal file
|
After Width: | Height: | Size: 36 KiB |
BIN
INFO-1252 (Front End Dev)/Labs/Lab-5/images/squares_bg.png
Normal file
|
After Width: | Height: | Size: 30 KiB |
111
INFO-1252 (Front End Dev)/Labs/Lab-5/index.html
Normal file
@@ -0,0 +1,111 @@
|
|||||||
|
<!DOCTYPE html>
|
||||||
|
<html>
|
||||||
|
|
||||||
|
<head>
|
||||||
|
<title>Sandy's Cooking Blog</title>
|
||||||
|
<link rel="stylesheet" href="styles/main.css" />
|
||||||
|
<link rel="preconnect" href="https://fonts.googleapis.com" />
|
||||||
|
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin />
|
||||||
|
<link
|
||||||
|
href="https://fonts.googleapis.com/css2?family=Dancing+Script:wght@600&family=Roboto:wght@100;400;500;700&display=swap"
|
||||||
|
rel="stylesheet" />
|
||||||
|
<link rel="stylesheet" href="main.css" />
|
||||||
|
</head>
|
||||||
|
|
||||||
|
<body>
|
||||||
|
<!-- Header -->
|
||||||
|
<header class="header">
|
||||||
|
<img class="header-logo" src="images/smileyface.png" />
|
||||||
|
<h1 class="header-title">Sandy's Cooking Blog</h1>
|
||||||
|
|
||||||
|
<nav class="header-nav">
|
||||||
|
<ul class="header-nav-list">
|
||||||
|
<li class="header-nav-list-item"><a href="#">Home</a></li>
|
||||||
|
<li class="header-nav-list-item"><a href="#">Categories</a></li>
|
||||||
|
<li class="header-nav-list-item"><a href="#">About Sandy</a></li>
|
||||||
|
<li class="header-nav-list-item"><a href="#">Recipe Index</a></li>
|
||||||
|
</ul>
|
||||||
|
</nav>
|
||||||
|
</header>
|
||||||
|
|
||||||
|
<!-- Main Page-->
|
||||||
|
<main>
|
||||||
|
<!-- Recipes -->
|
||||||
|
<section class="recipes">
|
||||||
|
<article class="recipe">
|
||||||
|
<h2 class="recipe-title">Dinner Party Ideas</h2>
|
||||||
|
<div class="recipe-by">By: <strong>John</strong></div>
|
||||||
|
<div class="recipe-date">Jan 11, 2022</div>
|
||||||
|
<img class="recipe-image" src="images/dinnerparty.jpg" alt="dinner party food" />
|
||||||
|
<p class="recipe-desc">
|
||||||
|
Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Nunc
|
||||||
|
mollis, nulla non elementum tincidunt, felis ligula sodales lectus,
|
||||||
|
sit amet dignissim quam massa sit amet lorem. Aenean lorem risus,
|
||||||
|
tempus nec, gravida eu.
|
||||||
|
</p>
|
||||||
|
</article>
|
||||||
|
|
||||||
|
<article class="recipe">
|
||||||
|
<h2 class="recipe-title">Weeknight Meals</h2>
|
||||||
|
<div class="recipe-by">By: <strong>Mary</strong></div>
|
||||||
|
<div class="recipe-date">Jan 07, 2022</div>
|
||||||
|
<img class="recipe-image" src="images/dinner.jpg" alt="nice dinner" />
|
||||||
|
<p class="recipe-desc">
|
||||||
|
Donec cursus faucibus turpis. Quisque auctor est at magna. In
|
||||||
|
sagittis quam ac ante. Etiam et erat. Morbi sem. Mauris faucibus
|
||||||
|
elit eu est. Nulla wisi eros, vehicula et, congue quis, consectetuer
|
||||||
|
non, leo. Phasellus suscipit felis non est.
|
||||||
|
</p>
|
||||||
|
</article>
|
||||||
|
|
||||||
|
<article class="recipe">
|
||||||
|
<h2 class="recipe-title">Superbowl Snacks</h2>
|
||||||
|
<div class="recipe-by">By: <strong>Sandy</strong></div>
|
||||||
|
<div class="recipe-date">Jan 06, 2022</div>
|
||||||
|
<img class="recipe-image" src="images/nachos.jpg" alt="plate of nachos" />
|
||||||
|
<p class="recipe-desc">
|
||||||
|
Pellentesque habitant morbi tristique senectus et netus et malesuada
|
||||||
|
fames ac turpis egestas. Morbi condimentum, odio sit amet aliquet
|
||||||
|
adipiscing, nunc odio fermentum tellus, tincidunt pulvinar leo purus
|
||||||
|
quis libero. Vivamus quam.
|
||||||
|
</p>
|
||||||
|
</article>
|
||||||
|
</section>
|
||||||
|
|
||||||
|
<!-- About -->
|
||||||
|
<section class="about">
|
||||||
|
<h2 class="about-title">About Sandy</h2>
|
||||||
|
<img class="about-logo" src="images/smileyface.png" />
|
||||||
|
<p class="about-text">
|
||||||
|
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Vestibulum
|
||||||
|
gravida mattis molestie. Donec in urna ut dolor imperdiet faucibus.
|
||||||
|
Pellentesque habitant morbi tristique senectus et netus et malesuada
|
||||||
|
fames ac turpis egestas. Sed luctus a mi et facilisis. Class aptent
|
||||||
|
taciti sociosqu ad litora torquent per conubia nostra, per inceptos
|
||||||
|
himenaeos. Ut condimentum purus eu luctus tincidunt. Maecenas
|
||||||
|
elementum, augue at vulputate ornare, ipsum enim lacinia orci, id
|
||||||
|
elementum velit enim gravida diam. Aliquam vitae pharetra ex. In hac
|
||||||
|
habitasse platea dictumst. Curabitur vitae facilisis nulla. Morbi quis
|
||||||
|
condimentum lorem. Fusce sit amet orci mauris. Donec fringilla lectus
|
||||||
|
nec efficitur sagittis. Aliquam sed nunc ligula.
|
||||||
|
</p>
|
||||||
|
<p class="about-text">
|
||||||
|
Quisque tempus ornare est, eu scelerisque sem ultricies et. Sed sed
|
||||||
|
interdum odio. Suspendisse id lacinia sem. Cras fermentum tortor sit
|
||||||
|
amet mollis commodo. Morbi facilisis arcu a est dapibus, vitae laoreet
|
||||||
|
sapien feugiat. Aenean vel viverra arcu, eu pulvinar nulla.
|
||||||
|
Pellentesque habitant morbi tristique senectus et netus et malesuada
|
||||||
|
fames ac turpis egestas. Mauris id viverra leo, sed pellentesque est.
|
||||||
|
Maecenas quis hendrerit dui, tincidunt maximus velit.
|
||||||
|
</p>
|
||||||
|
</section>
|
||||||
|
</main>
|
||||||
|
|
||||||
|
<!-- Footer -->
|
||||||
|
<footer class="footer">
|
||||||
|
<p>Copyright <strong>©</strong> 2025.</p>
|
||||||
|
<p>Developed by <strong class="footer-name">Levi McLean</strong>.</p>
|
||||||
|
</footer>
|
||||||
|
</body>
|
||||||
|
|
||||||
|
</html>
|
||||||
22
INFO-1252 (Front End Dev)/Labs/Lab-5/notes.txt
Normal file
@@ -0,0 +1,22 @@
|
|||||||
|
This project has all the css code in one giant file and there are
|
||||||
|
pros and cons of doing this.
|
||||||
|
|
||||||
|
pros:
|
||||||
|
slightly faster webpage load times and less network traffic.
|
||||||
|
cons:
|
||||||
|
you have one big giant css file which can be hard to maintain if the
|
||||||
|
project is just a little bit larger than this.
|
||||||
|
|
||||||
|
In the industry, we separate the css codes into multiple files.
|
||||||
|
The css code can easily be thousands of lines in a small real-world projects
|
||||||
|
and we have no choice but to separate the codes.
|
||||||
|
By doing this we get the benefit of maintainability.
|
||||||
|
|
||||||
|
When the code is actually sent to the clients/users there are tools
|
||||||
|
to combine the css(and JavaScript) code into less css file.
|
||||||
|
By doing this we get the benefit of less network traffic and slightly
|
||||||
|
faster load times.
|
||||||
|
|
||||||
|
Do not worry about it for now if this does not make sense.
|
||||||
|
Try different approaches and see how you like it.
|
||||||
|
You will learn/experience more about this throughout the journey of IWD.
|
||||||
192
INFO-1252 (Front End Dev)/Labs/Lab-5/styles/main.css
Normal file
@@ -0,0 +1,192 @@
|
|||||||
|
/* global settings */
|
||||||
|
*,
|
||||||
|
*::before,
|
||||||
|
*::after {
|
||||||
|
box-sizing: inherit;
|
||||||
|
padding: 0;
|
||||||
|
margin: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
html {
|
||||||
|
box-sizing: border-box;
|
||||||
|
font-size: 62.5%;
|
||||||
|
line-height: 1.6;
|
||||||
|
}
|
||||||
|
|
||||||
|
body {
|
||||||
|
font-family: "Roboto", sans-serif;
|
||||||
|
background: url(../images/squares_bg.png);
|
||||||
|
color: #686868;
|
||||||
|
}
|
||||||
|
|
||||||
|
li {
|
||||||
|
list-style-type: none;
|
||||||
|
}
|
||||||
|
|
||||||
|
a {
|
||||||
|
text-decoration: none;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Header */
|
||||||
|
.header-logo {
|
||||||
|
display: block;
|
||||||
|
margin: 2rem auto;
|
||||||
|
opacity: 30%;
|
||||||
|
width: 50%;
|
||||||
|
}
|
||||||
|
|
||||||
|
.header-title {
|
||||||
|
font-family: "Dancing script";
|
||||||
|
font-size: 4.2rem;
|
||||||
|
text-align: center;
|
||||||
|
color: teal;
|
||||||
|
}
|
||||||
|
|
||||||
|
.header-nav {
|
||||||
|
background-color: #fff;
|
||||||
|
text-align: center;
|
||||||
|
border-top: 5px solid teal;
|
||||||
|
border-bottom: 5px solid teal;
|
||||||
|
padding: 0.4rem 0;
|
||||||
|
margin-top: 2.4rem;
|
||||||
|
}
|
||||||
|
|
||||||
|
.header-nav-list-item {
|
||||||
|
margin: 0.8rem 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
.header-nav-list-item a:link,
|
||||||
|
.header-nav-list-item a:visited {
|
||||||
|
font-size: 2.4rem;
|
||||||
|
color: #686868;
|
||||||
|
}
|
||||||
|
|
||||||
|
.header-nav-list-item a:hover,
|
||||||
|
.header-nav-list-item a:active {
|
||||||
|
color: teal;
|
||||||
|
font-weight: 600;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Main */
|
||||||
|
.recipes {
|
||||||
|
margin-top: 2.4rem;
|
||||||
|
}
|
||||||
|
|
||||||
|
.recipe {
|
||||||
|
margin: 2rem 1rem;
|
||||||
|
border: 1px solid grey;
|
||||||
|
background-color: white;
|
||||||
|
border-radius: 20px;
|
||||||
|
padding: 2.4rem 1.2rem;
|
||||||
|
}
|
||||||
|
|
||||||
|
.recipe:hover {
|
||||||
|
box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.25);
|
||||||
|
transform: translateY(-10px);
|
||||||
|
/* we will learn this later. Don't worry about this line*/
|
||||||
|
}
|
||||||
|
|
||||||
|
.recipe-title {
|
||||||
|
font-family: "Dancing script";
|
||||||
|
text-shadow: 2px 2px 2px rgba(0, 0, 0, 0.25);
|
||||||
|
font-size: 3.6rem;
|
||||||
|
color: teal;
|
||||||
|
margin-bottom: 2.4rem;
|
||||||
|
}
|
||||||
|
|
||||||
|
.recipe-by,
|
||||||
|
.recipe-by strong,
|
||||||
|
.recipe-date {
|
||||||
|
text-align: right;
|
||||||
|
font-size: 1.6rem;
|
||||||
|
}
|
||||||
|
|
||||||
|
.recipe-image {
|
||||||
|
width: 80%;
|
||||||
|
border-radius: 50%;
|
||||||
|
display: block;
|
||||||
|
margin: 1rem auto;
|
||||||
|
}
|
||||||
|
|
||||||
|
.recipe-desc {
|
||||||
|
font-size: 1.8rem;
|
||||||
|
margin-top: 2.4rem;
|
||||||
|
padding: 0 1.2rem;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* About */
|
||||||
|
.about {
|
||||||
|
padding: 2.4rem;
|
||||||
|
background-color: rgb(82, 82, 82);
|
||||||
|
opacity: 70%;
|
||||||
|
}
|
||||||
|
|
||||||
|
.about-title {
|
||||||
|
font-family: "Dancing script";
|
||||||
|
font-size: 4.8rem;
|
||||||
|
color: #fff;
|
||||||
|
margin-top: 2rem;
|
||||||
|
text-shadow: 5px 5px 0 rgba(0, 0, 0, 0.75);
|
||||||
|
}
|
||||||
|
|
||||||
|
.about-text {
|
||||||
|
/* use white colour + opacity or grey font color to achieve this result*/
|
||||||
|
color: #fff;
|
||||||
|
opacity: 0.75;
|
||||||
|
font-size: 1.8rem;
|
||||||
|
margin: 2rem 0;
|
||||||
|
text-shadow: 1px 1px 0 black;
|
||||||
|
}
|
||||||
|
|
||||||
|
.about-logo {
|
||||||
|
display: none;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Footer */
|
||||||
|
.footer {
|
||||||
|
background-color: teal;
|
||||||
|
color: rgb(207, 207, 207);
|
||||||
|
text-align: center;
|
||||||
|
padding: 3.6rem 0;
|
||||||
|
font-size: 2.4rem;
|
||||||
|
}
|
||||||
|
|
||||||
|
.footer-name {
|
||||||
|
color: #fff;
|
||||||
|
font-size: 2.4rem;
|
||||||
|
}
|
||||||
|
|
||||||
|
@media (min-width: 820px) {
|
||||||
|
.header {
|
||||||
|
position: relative;
|
||||||
|
}
|
||||||
|
|
||||||
|
.header-logo {
|
||||||
|
position: absolute;
|
||||||
|
left: 5%;
|
||||||
|
top: 33%;
|
||||||
|
transform: translateY(-50%);
|
||||||
|
width: 15%;
|
||||||
|
opacity: 0.3;
|
||||||
|
z-index: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
.header-nav {
|
||||||
|
position: relative;
|
||||||
|
z-index: 1;
|
||||||
|
display: flex;
|
||||||
|
justify-content: center;
|
||||||
|
align-items: center;
|
||||||
|
padding: 1rem 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
.header-nav-list {
|
||||||
|
display: flex;
|
||||||
|
justify-content: center;
|
||||||
|
align-items: center;
|
||||||
|
gap: 4rem;
|
||||||
|
width: 100%;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@media (min-width: 1200px) {}
|
||||||