Blog Layout
π Project Overzicht
Maak een blog-achtige website met meerdere artikelen en een professionele layout. Dit project oefent CSS Flexbox/Grid layouts en responsive design.
π― Leerdoelen
- CSS Grid of Flexbox gebruiken voor layouts
- Consistente pagina design creΓ«ren
- Responsive design implementeren
- Navigatie tussen pagina's toevoegen
β Vereisten
Pagina's (2 verplicht)
- Home/Blog Lijst - Toont meerdere blog posts
- Enkele Post - Individuele artikel pagina
Home Pagina Structuur
- Header met blog naam en navigatie
- Uitgelichte post (groter, gemarkeerd)
- Posts grid (3-6 recente artikelen)
- Sidebar met categorieΓ«n
- Footer
Post Pagina Structuur
- Artikel titel, datum, auteur
- Artikel content met koppen
- Terug naar home link
Technische Vereisten
- Extern CSS bestand
- CSS Grid of Flexbox voor layouts
- Responsive design (mobielvriendelijk)
- Navigatie werkt op alle pagina's
- Hover effecten op posts
π Bestandsstructuur
project-02-blog/
βββ index.html
βββ post.html
βββ css/
β βββ style.css
βββ images/
βββ (placeholder afbeeldingen)
π‘ Blog Kaart Component
HTML
<article class="post-card">
<img src="afbeelding.jpg" alt="Post afbeelding" class="post-image">
<div class="post-content">
<span class="category">Technologie</span>
<h3><a href="post.html">Blog Post Titel</a></h3>
<p class="excerpt">Korte samenvatting van de post...</p>
<div class="post-meta">
<span class="author">Jan Jansen</span>
<span class="date">15 jan 2024</span>
</div>
</div>
</article>
CSS
.post-card {
background: white;
border-radius: 10px;
overflow: hidden;
box-shadow: 0 4px 6px rgba(0,0,0,0.1);
transition: transform 0.3s, box-shadow 0.3s;
}
.post-card:hover {
transform: translateY(-5px);
box-shadow: 0 8px 15px rgba(0,0,0,0.15);
}
.post-image {
width: 100%;
height: 200px;
object-fit: cover;
}
.category {
background: #3498db;
color: white;
padding: 5px 12px;
border-radius: 20px;
font-size: 0.8rem;
}
π± Responsive Grid Layout
CSS
.posts-grid {
display: grid;
grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
gap: 25px;
}
.sidebar {
display: flex;
flex-direction: column;
gap: 20px;
}
/* Op mobiel, stapel alles */
@media (max-width: 768px) {
.blog-layout {
grid-template-columns: 1fr;
}
}
π― Voorbeeld Layout
Mijn Blog
Home | Over | Contact
UITGELICHT
Laatste Artikel Titel
Post Titel
Samenvatting...
Post Titel
Samenvatting...
CategorieΓ«n
- Technologie
- Levensstijl
- Reizen