Full Stack Camp
145 subscribers
8 photos
16 files
89 links
Fullstack Camp | Learn. Build. Launch.
Welcome to the ultimate tech adventure!
Join us for a hands-on journey through HTML, CSS, JavaScript, React, Node.js, Express & MongoDB β€” all in one place.
Download Telegram
15. Which HTML element defines navigation links?
Anonymous Quiz
8%
A) <navigation>
85%
B) <nav>
8%
C) <menu>
0%
D) <links>
fullstack-challenges.zip
15.6 MB
The codes for the challenges
Shall we proceed to CSS?
Anonymous Poll
100%
πŸ‘
0%
πŸ‘Ž
🎨 Week 2 Day 1: Introduction to CSS (Cascading Style Sheets)

πŸ’‘ Topic:
What is CSS? Why It Matters, How It Works.
🎯 Goal:
➑️Understand the basics of CSS,
➑️how to apply styles to HTML,
➑️ and try your first styles.

🌍 Welcome Back to Fullstack Summer Camp!
You survived HTML week β€” now let’s make those plain web pages look awesome using CSS!

Imagine HTML as building a house: walls, rooms, and windows. CSS is painting, decorating, adding curtains, choosing colors, shapes, and sizes.

βœ… 1️⃣ What is CSS?

CSS stands for Cascading Style Sheets.
It’s a language that tells the browser how things should look on a web page. >
HTML = Structure >
CSS = Style / Design
Example:

<p>This is a paragraph.</p>

Without CSS β†’ Looks plain.
With CSS β†’ You can change:
➀Color
➀Font
➀Size
➀Spacing
➀Borders
➀Background

βœ… 2️⃣ How to Add CSS to HTML
There are 3 main ways:
a) Inline CSS (inside an HTML tag)

<p style="color: red;">Hello!</p>


πŸ‘‰ Used for very small, one-time changes. Not recommended for full websites.

b) Internal CSS (inside <style> in the HTML file)

<!DOCTYPE html>
<html>
<head>
       <style>
           p {
                   color: blue;
                   font-size: 20px;
}
</style>
</head>
<body>
        <p>This is blue text!</p>
</body>
</html>



πŸ‘‰ Good for small projects. Easy for practice.
c) External CSS (linked as a separate file)
HTML file:

<link rel="stylesheet" href="style.css">


style.css file:

p {
        color: green;
}


πŸ‘‰ Best practice for real websites. Keeps things organized!

βœ… 3️⃣ CSS Selectors: How CSS Targets HTML
Basic Rule Format:
selector {
        property: value;
}

Selector β†’ Which element (like p, h1, or a class)
Property β†’ What to change (like color, size)
Value β†’ How you want it (red, 20px)

We can:
  ➀select by type/element:
P, h1, h3, img , span ....
p {
   color: blue;}


➀select by class
  We use " . "before the name of the class.
   Html➺
<p class="highlight">Don't forget this</p>

   css➺
  .highlight {
      background-color:yellow;}

➀select by ID
  We use "#" before ID name

  Html➺
    <button id="main">click</button>

   css➺  
  #main {
   background-color: green;}

➀you can also target elements that are inside (nested)
  ➺Html 

<div>
  <h2>Menu Today</h2>
  <p>We have coffee and tea.</p>
</div>
<h2>Thank You</h2>


    ➺Css
div h2 {
         color: orange;
}


βœ… 4️⃣ Common Properties with Examples
1. Color

h1 {
color: purple; }


2. Background Color

body {
    background-color: lightgray; }

3. Font Size
p {
     font-size: 18px; }


4. Font Family

p {
    font-family: Arial, sans-serif; }


5. Text Align

h2 {
     text-align: center; }


6. Width and Height

div {
    width: 300px;
     height: 150px;
     background-color: yellow; }

7. Border

p {
     border: 2px solid black; }


8. Padding (space inside element) and Margin(space outside element)

div {
     padding: 20px; 
     margin: 30px; }


9. border-radius:
Rounds corners

img {
     border-radius: 10px; }

10. box-shadow:
Adds shadow around boxes

div {
     box-shadow: 2px 2px 8px gray; }


11. opacity:
Makes things transparent

img {
     opacity: 0.8; }


12. cursor:
Changes mouse cursor

button {
    cursor: pointer; }


13. text-decoration: (underline)

a {
     text-decoration: none; }


14. display:
Controls layout

div {
   display : block; }
span {
     display: inline; }
15.position:
Controls exact placement

div {
    position: absolute;
    top: 10px;
    left: 20px; }
βœ… 5️⃣ Combining Multiple Properties

p {
    color: white;
    background-color: black;
    font-size: 20px;
    text-align: justify; }

βœ… 6️⃣ Real Life Analogy
Think of CSS as designing your injera restaurant menu:
The structure is the menu paper (HTML)
The font color, layout, and sizes are CSS.
When someone looks at it, they notice the style first!

βœ… 7⃣ Summary
βœ”οΈ CSS = Design and Style
βœ”οΈ 3 Ways to add CSS (Inline, Internal, External)
βœ”οΈ Use selectors + properties
βœ”οΈ Common styles: color, background, font-size, width, border

#Week2 #Day1 #Css #introductionCss #lesson
πŸ’ͺ Week 2 Day 1 Challenges: Css

Today’s task isn’t about writing a new HTML page β€”
Instead, we’ll go back to all the HTML files we already created (restaurant page, bookstore, scholarship form, cover page...) and add CSS styles using what we learned so far!
βœ… What to do:
1️⃣ Open all your old HTML pages.
2️⃣ Apply as many CSS styles as possible:
➺Colors
➺Font sizes
➺Borders
➺Backgrounds
➺Padding and margins
➺Div layout and positioning
➺Media elements (images/videos) styling
3️⃣ Use external or internal CSS (not inline only!).
4️⃣ Make them clean, readable, and stylish.
βœ… Reminder:
Use all methods we learned β€” even the selectors like:
div p {} or ul li {} or classes and IDs.

πŸ”₯ When You Finish:

➀ Share screenshots or code samples in the group.
➀ Invite your friends to join and learn with us.
➀ ✌️Stay well and keep practicing!

#Week2 #Day1 #Css #introductionCss #challenge
πŸ“š Week 2 Day 2: CSS Intermediate β€” Layout, Selectors, and Rules

🎯 Topics for Today:
1️⃣ Pseudo Classes and Elements
2️⃣ Sibling Combinators: ., >, +, ~
3️⃣ Box Model Deep Dive
4️⃣ Margin, Border, Padding β€” Full Control
5️⃣ CSS Conflicts: Cascading, Source, Specificity, Inheritance

βœ… 1️⃣ Pseudo Classes and Elements
➀ What Are They?
They target specific states or parts of elements.
✨ Pseudo Classes Examples:
➑️ :hover
β†’ When mouse is over.
➝Imagine a button in an app , when you hover your mouse over it , the color changes.

button:hover {
       background-color: yellow; }


➑️ :focus β†’ When an input is active/selected.

input:focus {
        border-color: blue; }


➑️ :first-child β†’ First element inside parent.

ul li:first-child {
         color: red; }


➑️ :nth-child(2) β†’ Second child.

p:nth-child(2) {
       font-weight: bold; }


✨ Pseudo Elements Examples:
➝they are used when you want to add decoration with out changing the html

➑️ ::before

p::before {
      content: "πŸ‘‰ "; }


➑️ ::after

p::after {
     content: " βœ…"; }


➑️ ::first-letter

p::first-letter {
     font-size: 30px; }


βœ… 2️⃣ Sibling Combinators in CSS
➀ Why Use Them?
To style elements based on their position relative to others. This helps you control exactly where and when styles apply.

βœ”οΈ Examples:
➑️ .class1 .class2 {} β€” Any .class2 inside .class1.

div p {
     color: green; }

➑️ > (Child Selector)

div > p {
      color: blue; }


Only selects direct children, not grand children  😁

➑️ + (Adjacent Sibling Selector)

h1 + p {
     color: orange; }


Selects the very next <p> after <h1>.

➑️ ~ (General Sibling Selector)

h1 ~ p {
   color: purple; }


Selects all following siblings.


βœ… 3️⃣ Box Model Deep Dive

All HTML elements have:
➝Content = what's written/shown
β†’ Padding = space inside box , around content
β†’ Border = the edge of the box
β†’ Margin
= space outside the box , around other boxes
➀ Display Types
βœ”οΈ display: block;
βœ”οΈ display: inline;
βœ”οΈ display: inline-block;
βœ… Example:

span {
    display: block; }


➀ Box Sizing
βœ”οΈ box-sizing: content-box; (default , width doesn't include padding or border)
βœ”οΈ box-sizing: border-box; (includes padding + border)
βœ… Example:

div {
    width: 200px;
     padding: 20px;
     box-sizing: border-box; }

ο»Ώ
βœ… 4️⃣ Margin, Border, Padding β€” Sides
You can control:
margin-top
margin-bottom
margin-left
margin-right
βœ… Example:

div {
    margin-top: 20px;
    margin-right: 10px;
    border: 2px solid black;
    padding: 15px; }


Or shorthand:

margin: 20px 10px 15px 5px; /* Top, Right, Bottom, Left */

βœ… 5️⃣ CSS Conflicts: Cascading, Source, Specificity, Inheritance

When two styles target the same thing, which one wins?

➀ Cascading Order
Inline styles (strongest)
Internal CSS (in <style> tags)
External CSS (weakest)

➀ Specificity
More specific selectors override simpler ones.
3⃣type selectors(p, img, div)==weak
2⃣class selectors(.highleight, .topic)==stronger
1⃣ID selectors (#main, #sec)==Strongest

➀ Source Order
The last rule in the CSS file usually wins if specificity is equal.
➀ Inheritance
Some properties like color, font-family, line-height inherit from parent.
But layout properties like margin, padding , border don’t.

βœ… 6️⃣ Quick Summary Checklist
βœ”οΈ Pseudo Classes = :hover, :first-child, :nth-child()
βœ”οΈ Pseudo Elements = ::before, ::after
βœ”οΈ Sibling Selectors = >, +, ~
βœ”οΈ Box Model = Padding, Border, Margin
βœ”οΈ CSS Conflicts = Understand specificity, cascade, inheritance

#Week2 #Day2 #Css #CssLayout #lesson
🎨Week 2 Day 2 Challenges:

πŸ’» Today’s CSS Styling Challenge!
From all the HTML projects we did before β€”
βœ… Cover Page
βœ… Restaurant Website
βœ… Bookstore Catalog
βœ… Scholarship Application Form

πŸ‘‰ Now it’s time to make them look beautiful using today’s CSS lessons!
πŸ”§ What to Include:

✨ 🎯 Style all lists and menus β†’ Add background colors, borders, padding, spacing!

✨ 🎯 Use Flexbox to arrange sections β†’ Menus, book items, form fields neatly side by side or centered.

✨ 🎯 Add borders, margins, and boxes β†’ Around each important section (like menus, profile pictures, buttons).

✨ 🎯 Apply hover effects β†’ Change button colors, link styles when someone moves their mouse over them.

✨ 🎯 Use pseudo-elements like ::before and ::after for decoration!

✨ 🎯 Try sibling combinators β†’ Arrange things depending on position (like styling every <p> after <h1>).

✨ 🎯 Control the box model β†’ Use margin, padding, width, and height smartly.

🌟 πŸ’‘ Bonus Reminder: Use even the tags or methods we might have forgotten to mention before.
πŸ‘‰ Be creative β€” mix colors, shapes, and layouts!
πŸ“Έ βœ… When You’re Done:
➀ Share screenshots or the code in the group!
➀ Invite your friends to join Fullstack Summer Camp πŸ’»πŸ”₯
➀✌️ Stay well, enjoy your styling, and see you tomorrow! ✨

#Week2 #Day2 #Css #CssLayout #challenge
πŸ“š WEEK 2 DAY 3: CSS DEEP STYLING

🎨 Topic: Backgrounds, CSS Units, Replaced Elements 

============================================

βœ… 1️⃣ BACKGROUND PROPERTIES IN CSS 

πŸ‘‰ Why background matters: It sets the mood and layout of your web page. 
Think of it like painting your restaurant walls, putting posters up, or setting up banners. 

------------------------------------------
πŸ”Έ 1.1 background-image: 
Adds an image as a background.
Example:

body {
  background-image: url("coffee.jpg");
}


πŸ”Έ 1.2 background-repeat: 
Controls if and how the image repeats.

Options: repeat, no-repeat, repeat-x, repeat-y.
Example:

div {
  background-image: url("pattern.png");
  background-repeat: no-repeat;
}


πŸ”Έ 1.3 background-size: 
Controls image size in the background.

Options:
- auto 
- cover (fills the whole area) 
- contain (makes sure the full image shows)

Example:

div {
  background-image: url("sunset.jpg");
  background-size: cover;
}


πŸ”Έ 1.4 background-position: 
Where the background starts from.
Example:

div {
  background-position: center center;
}


πŸ”Έ 1.5 background-attachment: 
Controls scrolling behavior.

- scroll (default)
- fixed (image stays while content scrolls)
Example:

body {
  background-image: url("forest.jpg");
  background-attachment: fixed;
}


πŸ”Έ 1.6 background-gradient: 
Uses two or more colors as background without images.
Examples:

div {
  background: linear-gradient(to right, red, blue);
}


div {
  background: radial-gradient(circle, yellow, green, blue);
}


=====================================

βœ… 2️⃣ CSS UNITS + MEASUREMENTS 

Units help make things the right size.

πŸ”Έ 2.1 px: Pixels 
- Fixed unit. Small screens might look too big/small. It is not responsive.
Example:

p {
  font-size: 16px;
}


πŸ”Έ 2.2 em: Relative to parent element
Example:

div {
  font-size: 1.5em;
}


πŸ”Έ 2.3 rem: Relative to root element 
- Keeps sizes consistent across page.
Example:

body {
  font-size: 16px;
}

h1 {
  font-size: 2rem;
}


πŸ”Έ 2.4 % (Percentage) 
Width or height relative to parent.
Example:

div {
  width: 50%;
}


πŸ”Έ 2.5 vh & vw (Viewport height/width)

- 1vh = 1% of viewport height.
- 1vw = 1% of viewport width.
Example:

section {
  height: 100vh;
  width: 100vw;
}


πŸ”Έ 2.6 min-width / max-width 
Limits size changes.
Example:

img {
  max-width: 100%;
  min-width: 200px;
}


πŸ”Έ 2.7 overflow 
Controls content that goes outside the box.

Options:
- visible
- hidden
- scroll
- auto
Example:

div {
  width: 200px;
  height: 200px;
  overflow: scroll;
}


πŸ”Έ 2.8 object-fit 
Applies to <img>, <video>, etc.
Options: cover, contain, fill, none.
Example:

img {
  width: 100%;
  height: 300px;
  object-fit: cover;
}


------------------------------------------

πŸ”Έ 2.9 COLORS (FUNCTIONS + SYSTEMS)

βœ… rgb(): 
color: rgb(255, 0, 0);

βœ… rgba(): (With transparency) 
color: rgba(255, 0, 0, 0.5);

βœ… hsl(): (Hue, Saturation, Lightness) 
color: hsl(120, 100%, 50%);

βœ… hsla(): 
color: hsla(120, 100%, 50%, 0.3);

βœ… hwb(), lab(), lch(): 
Advanced color systems for modern browsers. Mostly for professional design systems.

===============================

βœ… 3️⃣ REPLACED ELEMENTS: Styling 

Replaced elements = Content controlled by the browser but styled by CSS.
Examples:
- <img>
- <video>
- <input>
- <iframe>
- <table>

πŸ”Έ 3.1 Styling Images 

img {
  width: 100%;
  max-width: 400px;
  border: 2px solid black;
  border-radius: 15px;
  object-fit: cover;
}


πŸ”Έ 3.2 Styling Videos 

video {
  max-width: 600px;
  border: 4px solid red;
  border-radius: 10px;
}


πŸ”Έ 3.3 Styling Forms (Inputs, Buttons) 

input, select, textarea {
  padding: 12px;
  margin: 10px 0;
  border: 1px solid #ccc;
  width: 100%;
}


button {
  background: linear-gradient(to right, green, blue);
  padding: 15px 30px;
  color: white;
  border: none;
  border-radius: 8px;
}


button:hover {
  background: linear-gradient(to right, blue, purple);
}
πŸ”Έ 3.4 Styling Tables

table {
  width: 100%;
  border-collapse: collapse;
}


th, td {
  padding: 12px;
  text-align: left;
  border-bottom: 1px solid #ddd;
}



tr:nth-child(even) {
  background-color: #f9f9f9;
}


===============================

βœ… EXTRA TIPS:

- Combine background properties into one shorthand:
background: url("bg.jpg") no-repeat center/cover fixed;

- Mix units smartly: 
  - rem for font sizes 
  - px for borders 
  - vh/vw for layout


βœ… QUICK SUMMARY:

βœ”οΈ Background images, gradients, sizes, positions. 
βœ”οΈ CSS units like px, em, rem, %, vh, vw. 
βœ”οΈ Overflow and object-fit. 
βœ”οΈ Advanced color functions (rgb, rgba, hsl, hsla). 
βœ”οΈ Styling images, forms, media, tables (Replaced Elements).
πŸ”₯Week 2 Day 3 Challenges:

πŸ’» TODAY'S CHALLENGE: BUILD YOUR OWN COURSE WEBSITE HOMEPAGE! πŸ’»πŸ”₯

πŸ‘‹ Hello Fullstack Summer Camp friends!

Today’s challenge is a fun and practical one β€” we’re moving beyond random layouts and actually trying to imitate a real website layout
Our inspiration? πŸ‘‰ [https://www.muyalogy.com](https://www.muyalogy.com)

━━━━━━━━━━━━━━━━━━━ 
🎯 YOUR MISSION:

βœ… Build a homepage for an online learning website using ONLY HTML + CSS (NO JavaScript yet).

βœ… The homepage should include:

1️⃣ Website title/logo at the top (you can write just the name as text) 
2️⃣ A navigation bar with items like: 
   - Home 
   - Courses 
   - About 
   - Contact 

3️⃣ 2–3 Courses Section: 
   ➀ Each course should have: 
      - Course title 
      - Short description 
      - Image 
      - Price or rating 

4️⃣ Footer section: 
   ➀ Include things like copyright, 
   ➀ Terms and conditions, 
   ➀ Social media icons or text links (as placeholders).

βœ… Use as many CSS styles as possible from everything we’ve learned so far: 
- Background images or gradients 
- Pseudo-classes (like hover effects on buttons or links) 
- Tables (if you wish for price comparison or schedule) 
- Flex or Grid layout for neat alignment 
- Colors, margins, paddings, fonts, etc.

━━━━━━━━━━━━━━━━━━━ 
πŸ‘€ Extra Notes: 
πŸ‘‰ You don't need to copy everything from the real site. Just the general layout and feel. 
πŸ‘‰ You can get creative with colors and images that fit the education theme!

━━━━━━━━━━━━━━━━━━━ 
πŸ“Έ When You’re Done: 
➀ Share your finished homepage in the group! Screenshots or code files β€” both are welcome. 
➀ Invite your friends who want to learn with us. 
➀ Stay consistent, stay practicing, and as always... 
✌️Stay well and happy coding!
πŸ“šWEEK 2 DAY 4: CSS FLEXBOX &*Grid layouts

πŸ‘‹πŸ‘‹ Fullstack Campers! Let's dive in to flexboxes and Grid layouts today.

1⃣ CSS Flexbox – The Ultimate Beginner-to-Intermediate Guide


Flexbox (Flexible Box Layout) is used to arrange items in a row or column and control their alignment, spacing, and distributionβ€”even when their sizes are unknown or dynamic.

🧱 1. Setting Up Flexbox
To use Flexbox, apply display: flex; to a container. This makes its direct children flexible items.

<div class="container">
      <div>Item 1</div>
      <div>Item 2</div>
     <div>Item 3</div>
</div>


Css:

.container {
      display: flex;
}


βž• 2. Flex Container Properties
These properties are applied to the parent element.
πŸ”Έ flex-direction
Controls the main axis direction.

.container {
     display: flex;
      flex-direction: row;
      flex-direction: column;
      flex-direction: row-reverse;
      flex-direction: column-reverse; }


πŸ“¦ Example

.container {
     display: flex;
      flex-direction: column; }


This stacks items vertically.
πŸ”Έ justify-content
Aligns items along the main axis (left to right by default).

.container {
      justify-content: flex-start;
      justify-content: flex-end; 
      justify-content: center;   
      justify-content: space-between;
      justify-content: space-around; 
      justify-content: space-evenly; }


πŸ“¦ Example:

.container {
     display: flex;
       justify-content: space-between; }


πŸ”Έ align-items
Aligns items vertically (along the cross-axis).
.container {
       align-items: stretch;
       align-items: flex-start;
       align-items: flex-end;
       align-items: center;
       align-items: baseline; }

πŸ“¦ Example:

.container {
      display: flex;
       align-items: center; }


πŸ”Έ flex-wrap
By default, items will try to fit in one line. Use wrap to move overflowing items to a new line
   ➀ nowrap/* default */
   ➀ wrap
   ➀ wrap-reverse

πŸ”Έ align-content
Used only when there are multiple lines (i.e. when flex-wrap: wrap; is applied). It aligns the rows of items.

➀stretch;
➀ flex-start
➀ flex-end
➀center
➀ space-between
➀ space-around


🧊 3. Flex Item Properties
These are applied to individual child elements inside a flex container.
πŸ”Ή flex-grow
Defines how much a flex item can grow relative to others.

.item { flex-grow: 1; /* Will grow equally with others */ }
πŸ“¦ Example:

.item1 { flex-grow: 1; }
.item2 { flex-grow: 2; }


Item 2 will be twice as wide as Item 1.

πŸ”Ή flex-shrink
Defines how much an item can shrink if space is tight.

.item { flex-shrink: 0; /* Won't shrink */ }

πŸ”Ή flex-basis
Defines the initial size before space is distributed.

.item { flex-basis: 200px; }

πŸ”Ή flex
A shorthand for:
flex: grow shrink basis;
πŸ“¦ Example:

.item { flex: 1 1 200px; }

πŸ”Ή align-self
Overrides align-items for a single item.
.item { align-self: center; }

πŸ§ͺ 4. Complete Example

<style> .container {
       display: flex;
       flex-direction: row;
       justify-content: space-around;
      align-items: center;
      height: 200px;
      background-color: #f2f2f2; }
.item {
     background: orange;
     padding: 20px;
     color: white;
      margin: 10px;
      flex: 1; } </style>

<div class="container">
      <div class="item">πŸ“˜ Item 1</div>
     <div class="item">πŸ“™ Item 2</div>
     <div class="item">πŸ“— Item 3</div>
</div>


πŸ›  5. Flexbox Tricks You Should Know
πŸ”Ή Equal height columns
πŸ”Ή Center anything (vertical + horizontal)
πŸ”Ή Responsive layout (great on mobile! Coming soon)
πŸ”Ή Reordering items with order
πŸ”Ή Avoids using floats or positioning
2⃣ CSS Grid Layout

βœ… What is CSS Grid?

CSS Grid is a two-dimensional layout system that allows you to control both rows and columns at the same time. Unlike Flexbox (which is one-dimensional), Grid gives you full control over the layout of your elements.
It’s especially useful for building complex web layouts without hacks like floats or flex-wrap tricks.

πŸ”Έ 1. Creating a Grid Container
You start by declaring display: grid on the parent element.
.container { display: grid; }
Example:

<div class="container">
      <div>1️⃣</div>
     <div>2️⃣</div>
     <div>3️⃣</div>
</div>


.container {
       display: grid;
       grid-template-columns: 100px 100px 100px; }


πŸ”Ή 2. Defining Columns and Rows
Use grid-template-columns and grid-template-rows.
πŸ‘‰ Fixed sizes:
.container {
      display: grid; 
       grid-template-columns: 200px 150px;
       grid-template-rows: 100px 100px; }

πŸ‘‰ Responsive using fr unit (fractional):

.container {
      display: grid;
      grid-template-columns: 1fr 2fr; }


πŸ‘‰ Repeat:

.container {
     display: grid;
    grid-template-columns: repeat(3, 1fr); }


πŸ”Έ 3. Gap Between Items
Use gap, row-gap, or column-gap.
.container { gap: 20px; }

πŸ”Έ 4. Placing Items in Grid
Grid items can span columns or rows using:
.item {
      grid-column: 1 / 3; /* start at 1, end before 3 */
       grid-row: 2 / 4; }

You can also use span:
.item { grid-column: span 2; }

πŸ”Ή 5. Named Areas
Use grid-template-areas for visually mapping the layout.

.container {
    display: grid;
    grid-template-columns: 1fr 2fr;
    grid-template-rows: auto auto;
    grid-template-areas: "header header" "sidebar content"; }


Then assign elements:
.header { grid-area: header; }
.sidebar { grid-area: sidebar; }
.content { grid-area: content; }


πŸ”Ή 6. Aligning Items
➝justify-items: Align items horizontally (inside each grid cell).
➝align-items: Align items vertically (inside each grid cell).
➝justify-content: Align the entire grid horizontally.
➝align-content: Align the entire grid vertically.

.container {
      justify-items: center;
     align-items: center; }


🧊 7. Auto-placement
Let grid place items automatically based on available space.

.container {
      display: grid;
      grid-template-columns: repeat(auto-fill, minmax(150px, 1fr)); }

☝️ This is super useful for responsive grids (like image galleries or cards).

πŸ§ͺ 8. Complete Example – Simple Blog Layout

<style>
.container {
     display: grid;
     grid-template-areas: "header header" "sidebar main" "footer footer";
    grid-template-columns: 1fr 3fr;
    grid-template-rows: auto 1fr auto;
    gap: 20px;
    min-height: 100vh; }
.header {
    grid-area: header;
    background: #1e90ff;
    color: white;
    padding: 1rem; }
.sidebar {
     grid-area: sidebar;
     background: #f0f0f0;
    padding: 1rem; }
.main {
     grid-area: main;
     background: #fff;
     padding: 1rem; }
.footer {
     grid-area: footer;
     background: #1e90ff;
     color: white;
     padding: 1rem;
     text-align: center; }
</style>


<div class="container">
     <div class="header">🌐 My Blog</div>
    <div class="sidebar">πŸ“š Categories</div>
    <div class="main">πŸ“ Blog Content goes here</div>
   <div class="footer">Β© 2025 My Blog</div>
</div>