Featured Project
Spans two columns on desktop.
Objective: Learn how to position and align elements using CSS Flexbox and Grid β modern, powerful layout systems.
Flexbox arranges elements along a single axis β a row or a column.
<div class="container">
<div class="box">1</div>
<div class="box">2</div>
<div class="box">3</div>
</div>
/* CSS */
.container {
display: flex;
background-color: #eee;
padding: 10px;
}
.box {
background-color: #0E477B;
color: white;
padding: 20px;
margin: 10px;
flex: 1;
text-align: center;
}β Flex items line up in a row by default.
.container {
display: flex;
flex-direction: row; /* default: row | row-reverse | column | column-reverse */
}.container {
display: flex;
justify-content: space-between; /* main axis */
align-items: center; /* cross axis */
gap: 20px; /* spacing between items */
}| Property | Aligns | Common Values |
|---|---|---|
justify-content | horizontally | flex-start, center, space-between, space-around, space-evenly |
align-items | vertically | flex-start, center, stretch, baseline |
align-content | multi-line | same values as above |
/* Equal growth */
.box { flex: 1; }
/* Custom proportions */
.box1 { flex: 2; } /* twice as wide */
.box2 { flex: 1; }Responsive without media queries for many row layouts.
<header class="nav-bar">
<div class="logo">StreetGeek</div>
<nav>
<a href="#">Home</a>
<a href="#">Courses</a>
<a href="#">Contact</a>
</nav>
</header>
.nav-bar {
display:flex;
justify-content:space-between;
align-items:center;
background:#0E477B;
color:#fff;
padding:10px 20px;
}
.nav-bar nav{ display:flex; gap:15px; }
.nav-bar a{ color:#fff; text-decoration:none; }
.nav-bar a:hover{ text-decoration:underline; }
@media (max-width:768px){
.nav-bar{ flex-direction:column; gap:10px; }
}Grid is two-dimensional β control rows and columns.
<div class="grid">
<div class="item">1</div>
<div class="item">2</div>
<div class="item">3</div>
<div class="item">4</div>
</div>
/* CSS */
.grid{
display:grid;
grid-template-columns:repeat(2, 1fr);
gap:20px;
}
.item{
background:#6EC1E4; color:#fff; padding:20px; text-align:center;
}β
2 equal columns using repeat(2,1fr).
| Property | Example | Description |
|---|---|---|
grid-template-columns | repeat(3, 1fr) | Number/width of columns |
grid-template-rows | 200px auto | Row heights |
gap | 20px | Space between items |
grid-column | 1 / 3 | Span multiple columns |
grid-row | 2 / 4 | Span multiple rows |
π‘ fr is a fractional unit β βone part of the available spaceβ.
<div class="layout">
<header>Header</header>
<nav>Nav</nav>
<main>Main Content</main>
<aside>Sidebar</aside>
<footer>Footer</footer>
</div>
.layout{
display:grid;
grid-template-areas:
"header header"
"nav main"
"nav aside"
"footer footer";
grid-template-columns:1fr 3fr;
gap:10px;
}
.layout header{ grid-area:header; background:#0E477B; color:#fff; padding:20px; }
.layout nav { grid-area:nav; background:#e5e5e5; padding:20px; }
.layout main { grid-area:main; background:#f8f8f8; padding:20px; }
.layout aside { grid-area:aside; background:#ddd; padding:20px; }
.layout footer{ grid-area:footer; background:#0E477B; color:#fff; padding:20px; }@media (max-width:768px){
.grid{ grid-template-columns:1fr; } /* stack grid */
.nav-bar{ flex-direction:column; } /* stack flex */
}gap: 20px; do?Create a responsive portfolio layout using both systems:
gap; hover effect on cards..featured { grid-column: span 2; }Spans two columns on desktop.
Hover me.
Hover me.
Hover me.
Hover me.
justify-content, align-items, and gap.Next up: π MODULE 8: Colors, Fonts & Visual Design β color theory, typography, and hierarchy.
We use cookies to improve your experience on our site. By using our site, you consent to cookies.
Manage your cookie preferences below:
Essential cookies enable basic functions and are necessary for the proper function of the website.
These cookies are needed for adding comments on this website.
Marketing cookies are used to follow visitors to websites. The intention is to show ads that are relevant and engaging to the individual user.
X Pixel enables businesses to track user interactions and optimize ad performance on the X platform effectively.
Service URL: x.com