HTML’de Görsellerle Çalışma: Detaylı Rehber

Tayyip Bölük Ocak 31, 2025 HTML
HTML Görseller (İmage)

HTML’de görsellerle çalışmak, modern web geliştirmenin temel taşlarından biridir. Doğru kullanıldığında kullanıcı deneyimini zenginleştiren görseller, yanlış uygulamalarda sayfa performansını düşürebilir veya erişilebilirlik sorunlarına yol açabilir. Bu rehberde, HTML’de görsel kullanımını detaylı örneklerle ele alacağız.

Temel <img> Etiketi ve Nitelikleri

Görsel eklemenin en temel yolu <img> etiketidir. Bu etiket, src (kaynak) ve alt (alternatif metin) nitelikleriyle birlikte kullanılır.

<img src="elma.jpg" alt="Kırmızı Elma">

Neden alt Niteliği Önemli?

  • SEO: Arama motorları, görsel içeriğini anlamak için alt metnini kullanır.
  • Hata Durumları: Görsel yüklenmezse alternatif metin kullanıcıya bilgi verir.
  • Erişilebilirlik: Görme engelli kullanıcılar için ekran okuyucular bu metni seslendirir.

Görsel Boyutlandırma: width ve height

Görsellerin boyutunu ayarlamak için width ve height niteliklerini kullanabilirsiniz. Ancak bu yöntem yerine CSS ile boyutlandırma yapmak daha esnektir (özellikle responsive tasarımlar için).

<img src="araba.jpg" alt="Klasik otomobil" width="600" height="400">

Performans İpuçları:

  • Görseli gerçek boyutlarıyla yükleyip CSS ile küçültmek performans kaybına yol açar.
  • Görselleri sunucuda doğru boyutta optimize edin (örneğin 600×400 piksel).

Responsive Görseller: srcset ve sizes

Farklı ekran boyutlarına uyumlu görseller için srcset ve sizes niteliklerini kullanın. Bu, mobil kullanıcıların gereksiz büyük dosyalar yüklemesini engeller.

<img 
  srcset="gorsel-320w.jpg 320w,
          gorsel-480w.jpg 480w,
          gorsel-800w.jpg 800w"
  sizes="(max-width: 600px) 480px,
         800px"
  src="gorsel-800w.jpg" 
  alt="Responsive görsel örneği">

Nasıl Çalışır?

  • Tarayıcı, cihazın ekran genişliğine ve yoğunluğuna göre en uygun görseli seçer.
  • sizes niteliği, görselin hangi koşulda ne kadar yer kaplayacağını belirtir.

Modern Formatlar: <picture> Etiketi

WebP veya AVIF gibi yüksek sıkıştırmalı formatları destekleyen tarayıcılar için <picture> etiketi kullanın. Bu, performansı artırırken kaliteyi korumanızı sağlar.

<picture>
  <source srcset="manzara.webp" type="image/webp">
  <source srcset="manzara.jpg" type="image/jpeg">
  <img src="manzara.jpg" alt="Dağ manzarası">
</picture>

Neden WebP/AVIF?

  • JPEG’e kıyasla %25-35 daha küçük dosya boyutu.
  • Tarayıcı destekliyorsa otomatik olarak yüklenir.

Görsel Optimizasyonu ve SEO

  • Sıkıştırma Araçları: TinyPNG, Squoosh veya ImageOptim ile görsellerinizi optimize edin.
  • İsimlendirme: elma.jpg yerine kirmizi-elma.jpg gibi açıklayıcı isimler kullanın.
  • Lazy Loading: Sayfa kaydırıldıkça görselleri yüklemek için loading="lazy" niteliğini ekleyin.
<img src="kahve-makinesi.jpg" alt="Kahve makinesi" loading="lazy">

Erişilebilirlik İçin Ekstra Adımlar

  • ARIA Etiketleri: Görsel interaktifse role="img" ekleyin.
<img src="logo.png" alt="Patika Dev" role="img">
  • Kapalı Yazı (Caption): <figure> ve <figcaption> ile görsel açıklaması ekleyin.
<figure>
  <img src="grafik.png" alt="2024 satış grafiği">
  <figcaption>2024 Yılı Aylık Satış Verileri</figcaption>
</figure>

Sık Yapılan Hatalar ve Çözümleri

  1. Alt Metin Eksikliği: alt="" boş bırakılırsa, ekran okuyucular görseli atlar. Dekoratif görseller için bile alt niteliği ekleyin.
  2. Boyut Uyumsuzluğu: Mobilde 800px genişlikte bir görsel kullanmak veri israfıdır. Responsive tekniklere sadık kalın.
  3. Format Seçimi: Arka plan şeffaflığı gerekiyorsa PNG, fotoğraflar için WebP kullanın.

Örnek: Responsive ve Optimize Edilmiş Galeri

<!DOCTYPE html>
<html>
<head>
    <style>
        .gallery { max-width: 1200px; margin: auto; }
        .gallery img { width: 100%; height: auto; }
    </style>
</head>
<body>
    <div class="gallery">
        <picture>
            <source srcset="galeri-1.webp" type="image/webp">
            <img src="galeri-1.jpg" alt="Sanat sergisi" loading="lazy">
        </picture>
        <figure>
            <img 
              srcset="galeri-2-480w.jpg 480w,
                      galeri-2-800w.jpg 800w"
              sizes="(max-width: 600px) 480px,
                     800px"
              src="galeri-2-800w.jpg" 
              alt="Heykeller">
            <figcaption>Modern Heykel Sergisi</figcaption>
        </figure>
    </div>
</body>
</html>

HTML’de görsellerle çalışırken sadece etiketleri bilmek yetmez; performans, erişilebilirlik ve SEO’yu da düşünmelisiniz. Bu rehberde öğrendiğiniz srcset, <picture> ve lazy loading gibi tekniklerle hem kullanıcı dostu hem de arama motorlarında üst sıralarda yer alan sayfalar oluşturabilirsiniz. Daha fazlası için “HTML” kategorisine bakabilirsin.

Unutmayın: Bir görsel bin kelimeye bedeldir, ancak doğru optimize edilmemişse bin probleme de yol açabilir!

🔗 Daha fazla Örnek-1 göz atın.

🔗 Daha fazla Örnek-2 göz atın.

  • <picture> Etiketi Ne Zaman Kullanılmalı?

    Farklı formatlar sunmak istediğinizde (örneğin, WebP destekleyen tarayıcılar için). Farklı kırılımlara (mobile/desktop) özel görsel kesimleri kullanmak istediğinizde.

  • Görsellerim Neden Yavaş Yükleniyor? Nasıl Optimize Ederim?

    Boyutlandırma: Görseli gerçek kullanacağınız boyutta kaydedin (örneğin, 800×600 piksel). Sıkıştırma: TinyPNG veya Squoosh ile dosya boyutunu düşürün. Lazy Loading: loading="lazy" ekleyerek görsellerin kaydırma sırasında yüklenmesini sağlayın.

  • Lazy Loading Her Zaman İyi midir?

    Hayır. Sayfanın hemen görünen kısmındaki (above the fold) görsellerde loading="lazy" kullanmayın. Bu, ilk yükleme hızını yavaşlatabilir. Lazy loading, sayfanın alt kısımlarındaki görseller için idealdir.

  • Görsel Yüklenmezse Ne Olur?

    Tarayıcı, alt metnini gösterir. alt metni yoksa görselin adı veya boş bir alan görüntülenir.

  • Görselleri CSS ile mi HTML ile mi Boyutlandırmalıyım?

    Temel boyutlandırma için HTML’de width ve height kullanın, ancak responsive tasarım için CSS tercih edin. Bu, tarayıcının görsel için yer ayırmasını (layout shift önleme) sağlar.

Etiketler: HTML Görsel HTML img
Paylaş:
Tayyip Bölük

Merhaba! Ben Tayyip Bölük, yazılım geliştirme alanında uzmanlaşmış bir geliştiriciyim. Teknoloji ve yazılım dünyasına olan ilgim, beni bu blogu oluşturmaya yönlendirdi. Amacım, yazılım geliştirme sürecindeki deneyimlerimi, öğrendiklerimi ve sektördeki yenilikleri okuyucularımla paylaşmak. Yazılım geliştirme sürecindeki yenilikçi yaklaşımlar, uygulama geliştirme ipuçları ve teknoloji trendleri üzerine içerikler üretiyorum. Blogumda ayrıca kendi projelerimden ve sektördeki ilham verici hikayelerden de bahsediyorum. Bu blog, hem yazılım meraklıları hem de sektöre adım atmak isteyenler için bir bilgi ve ilham kaynağı olmayı hedefliyor.

0 Yorum

Henüz yorum yapılmamış. İlk yorumu siz yapabilirsiniz!

Yorum Yap

Bir Yorum Yazın

E-posta adresiniz paylaşılmayacak. Gerekli alanlar * ile işaretlenmiştir.