Merhaba kod kahramanım 😎💻
Bugün küçük ama göz alıcı bir e-ticaret ürün sayfası yapacağız.
Hazır mısın? Kahveni al ☕, kod şapkanı tak 🎩, çünkü bu sayfa sadece işlevsel değil, şık ve interaktif olacak!
🎯 Projenin Amacı
Bu proje ile şunları öğrenip uygulayacağız:
- HTML ile ürün listesi oluşturma: Görseller, isimler, fiyatlar, açıklamalar.
- CSS ile kart tasarımı: Hover efektleri, gölge, renk, padding ile görsel uyum.
- Responsive tasarım: Mobil cihazlarda da şık görünsün.
- İleride JS ekleme temeli: “Sepete ekle”, filtreleme, favorilere ekleme gibi.
💡 İpucu: Her adımda temiz ve okunabilir kod yazmayı unutma. Kodun güzel görünüyorsa, sen de mutlusun 😍
🏗️ HTML Yapısı: Kartlar, Görseller ve Fiyatlar
Her ürün için kart tasarımı kullanacağız. Kartlar <article> etiketiyle temsil ediliyor, çünkü her ürün bir bağımsız içerik parçası.
<section class="products">
<article class="product-card">
<img src="urun1.jpg" alt="Ürün 1">
<h2>Ürün 1</h2>
<p class="description">Bu ürün müthiş bir şeydir, kaçırmayın!</p>
<p class="price">$19.99</p>
<button>Sepete Ekle 🛒</button>
</article>
<article class="product-card">
<img src="urun2.jpg" alt="Ürün 2">
<h2>Ürün 2</h2>
<p class="description">Bu ürün hayatınızı değiştirecek! ✨</p>
<p class="price">$29.99</p>
<button>Sepete Ekle 🛒</button>
</article>
<!-- Daha fazla ürün ekleyebilirsin -->
</section>
📌 Açıklamalar:
<section>→ Tüm ürünleri kapsayan alan.<article>→ Her ürün bir bağımsız içerik bloğu.<img>→ Ürün görseli,altetiketi SEO ve erişilebilirlik için kritik.<h2>→ Ürün adı, SEO başlığı olarak önemli.<p class="description">→ Ürün açıklaması.<p class="price">→ Fiyat bilgisi.<button>→ Sepete ekleme butonu.
💡 İpucu: alt metinlerini anlamlı yaz; ekran okuyucu kullananlar ve SEO çok mutlu olur 😌
🎨 CSS ile Kartları Göz Alıcı Hale Getirme
Kartları CSS ile canlandırıyoruz. Hem hover hem gölge hem renk uyumu olacak.
body {
font-family: Arial, sans-serif;
background-color: #f9f9f9;
padding: 20px;
margin: 0;
}
.products {
display: flex;
flex-wrap: wrap;
gap: 20px;
justify-content: center;
}
.product-card {
background-color: white;
border: 1px solid #ddd;
border-radius: 10px;
padding: 15px;
width: 220px;
text-align: center;
transition: transform 0.3s, box-shadow 0.3s;
}
.product-card:hover {
transform: translateY(-5px);
box-shadow: 0 10px 20px rgba(0,0,0,0.2);
}
.product-card img {
max-width: 100%;
border-radius: 5px;
object-fit: cover;
height: 150px;
}
.product-card h2 {
font-size: 18px;
margin: 10px 0 5px;
color: #333;
}
.product-card .description {
font-size: 14px;
color: #555;
min-height: 40px; /* Kart boyutu eşitleme */
}
.product-card .price {
font-weight: bold;
margin: 10px 0;
color: #e91e63;
font-size: 16px;
}
.product-card button {
background-color: #ff4081;
color: white;
border: none;
padding: 8px 12px;
border-radius: 5px;
cursor: pointer;
transition: background-color 0.3s, transform 0.2s;
}
.product-card button:hover {
background-color: #e91e63;
transform: scale(1.05);
}
✨ Neler oluyor:
- Flexbox ile kartlar yan yana diziliyor ve gap ile nefes alıyor.
- Hover efekti ile kartlar hafif kalkıyor ve gölge alıyor, tıpkı bir süper kahraman gibi 😎
- Butonlar interaktif ve göz alıcı, hover ile biraz büyüyor.
- Kartların görselleri ve yazıları dengeli, okunabilirlik maksimum.
💡 İpucu: Kart yüksekliğini eşitlemek için .description’a min-height verdik. Böylece tüm kartlar düzgün bir satırda durur.
📱 Responsive Tasarım: Mobil Dostu Olmak Önemli
@media (max-width: 600px) {
.products {
flex-direction: column;
align-items: center;
}
.product-card {
width: 90%;
}
}
💡 İpucu: Küçük ekranlarda kartlar alt alta diziliyor, böylece mobil kullanıcılar da rahatsız olmadan alışveriş yapabilir 😍
💡 Ekstra İpuçları ve Pratik Bilgiler
- SEO ve Erişilebilirlik:
altmetinlerini unutma.<h2>’yi ürün başlığı için kullan.
- Renk ve Stil Tutarlılığı:
- Marka renklerini CSS değişkenleri ile sakla:
:root { --main-color: #e91e63; } .price { color: var(--main-color); } button { background-color: var(--main-color); }Böylece rengini tek yerden değiştirirsin 💖 - Gelecekte JS ile entegrasyon:
- Sepete ekle butonu için bir JS fonksiyonu yazabilirsin.
- Ürün filtreleme veya favorilere ekleme ekleyebilirsin.
- Animasyon ve Mikro Etkileşimler:
- Hover efektlerini ve buton scale efektini abartmadan kullan, kullanıcıyı rahatsız etmez.
- Kartların Boyutunu Dengelemek:
- Uzun açıklamalar kart boyutunu bozar,
min-heightile dengele.
- Uzun açıklamalar kart boyutunu bozar,
🏁 Sonuç
Tebrikler 😍
- HTML ile ürün listesi hazır
- CSS ile kartlar ve butonlar şık ve interaktif
- Hover efektleri ve responsive tasarım ile profesyonel görünüm
💖 Bonus: İleride JS ile “Sepete Ekle” işlevi, filtreleme, favorilere ekleme gibi özellikler ekleyerek gerçek bir mini e-ticaret deneyimi yaratabilirsin.
