BlogWordpress

Resmi Responsive Yapma: CSS, srcset ve picture ile Mobil Uyumlu Resim

Resmi responsive yapmanın en kısa yolu, CSS’te resme max-width: 100%; height: auto; vermektir. Bu kural resmin hiçbir zaman bulunduğu alandan taşmamasını ve oranının bozulmamasını sağlar. Daha iyi bir sonuç için srcset ve sizes ile her ekrana uygun boyutta dosya sunmak, width ve height değerlerini yazarak sayfa kaymasını önlemek ve WebP/AVIF formatlarını <picture> ile kullanmak gerekir. Sayfanın mobilde düzgün görünmesi için <head> içinde viewport etiketinin de olması şarttır.

Kısaca

  • Taşmayı önlemek: img { max-width:100%; height:auto; }
  • Doğru boyut: srcset + sizes ile telefon küçük, masaüstü büyük dosya indirir.
  • Kaymayı önlemek (CLS): Resme width ve height değerlerini yazın.
  • Modern format: <picture> ile AVIF/WebP, desteklemeyen tarayıcıya JPEG.
  • WordPress: srcset ve lazy loading otomatik eklenir.
Responsive web tasarımında sayfanın masaüstü, tablet ve telefon ekranlarına uyum sağlaması

1. CSS ile Resmi Responsive Yapma

Tüm resimler için sitenin CSS dosyasına şu kuralı ekleyin:

img {
  max-width: 100%;
  height: auto;
}

max-width: 100% resmin kapsayıcısından geniş olmasını engeller, height: auto en-boy oranını korur. Tek bir resim için aynı kuralı satır içi stil olarak da yazabilirsiniz: style="max-width:100%; height:auto;". width: 100% kullanmayın; küçük resimleri gereksiz yere büyütüp bulanıklaştırır.

2. srcset ve sizes ile Doğru Boyutta Resim

Responsive resim için srcset ve sizes kullanımı: telefon küçük, tablet orta, masaüstü büyük resim dosyasını indirir
CSS kuralı resmi ekrana sığdırır ama telefon yine büyük dosyayı indirir. srcset ile aynı resmin farklı genişlikteki sürümlerini tanımlarsınız; tarayıcı ekran genişliğine ve piksel yoğunluğuna göre en uygununu seçer:

<img src="urun-800.webp"
     srcset="urun-400.webp 400w, urun-800.webp 800w, urun-1600.webp 1600w"
     sizes="(max-width: 600px) 100vw, 50vw"
     width="800" height="600"
     alt="Kırmızı koşu ayakkabısı" loading="lazy">
  • srcset: Dosyalar ve gerçek genişlikleri (w birimi).
  • sizes: Resmin sayfada kaplayacağı genişlik. Örnekte 600 pikselden dar ekranda tam genişlik (100vw), daha genişte ekranın yarısı (50vw).
  • width / height: Tarayıcı resim yüklenmeden yer ayırır, sayfa kayması (CLS) olmaz.
  • loading=”lazy”: Ekranda görünmeyen resimleri kaydırınca yükler. Sayfanın en üstündeki ana görselde (LCP) kullanmayın; ona fetchpriority="high" verebilirsiniz.

3. picture Etiketi ile WebP ve AVIF Kullanımı

<picture> etiketi, tarayıcının desteklediği en iyi formatı seçmesini sağlar:

<picture>
  <source srcset="urun.avif" type="image/avif">
  <source srcset="urun.webp" type="image/webp">
  <img src="urun.jpg" width="800" height="600" alt="Kırmızı koşu ayakkabısı">
</picture>

Tarayıcı AVIF’i destekliyorsa onu, desteklemiyorsa WebP’yi, hiçbirini desteklemiyorsa JPEG’i yükler. Formatların farkları için en kaliteli resim formatı yazısına bakabilirsiniz. Ekran boyutuna göre farklı kırpılmış resim (örneğin mobilde dikey, masaüstünde yatay) göstermek için <source media="(max-width: 600px)"> kullanılır.

4. HTML Siteyi Mobil Uyumlu Yapmak İçin Viewport

Resimler responsive olsa bile sayfanın <head> bölümünde viewport etiketi yoksa telefon sayfayı masaüstü genişliğinde açıp küçültür:

<meta name="viewport" content="width=device-width, initial-scale=1">

Ayrıntılar için viewport meta etiketi yazısına bakabilirsiniz. Sayfa telefonda yana kayıyorsa içerik ekrandan geniş hatasının çözümüne bakın.

WordPress’te Resim Responsive Nasıl Yapılır?

WordPress, yüklediğiniz her resmin farklı boyutlarını otomatik oluşturur ve içerikteki resimlere srcset, sizes ve loading="lazy" özniteliklerini kendisi ekler. Resim taşıyorsa sorun genellikle temadadır:

  • Görünüm > Özelleştir > Ek CSS bölümüne .entry-content img { max-width:100%; height:auto; } ekleyin.
  • Sayfa oluşturucularda resim genişliğini piksel yerine yüzde olarak verin.
  • Tablo ve iframe gibi geniş öğeleri bir kapsayıcı içine alıp yatay kaydırma verin.
Resmi JavaScript ile ekran genişliğine göre yeniden boyutlandırmak eski bir yöntemdir; sayfa yüklenirken kaymaya ve gereksiz kod yüküne yol açar. Bugün CSS, srcset ve picture ile her şey JavaScript’e ihtiyaç duymadan yapılabilir.

Responsive Resim Nasıl Test Edilir?

  1. Chrome’da F12 ile Geliştirici Araçları’nı açın, cihaz simgesine (Ctrl+Shift+M) tıklayıp farklı telefon boyutlarını deneyin.
  2. Ağ (Network) sekmesinde “Img” filtresiyle telefonda hangi boyuttaki dosyanın indiğine bakın.
  3. PageSpeed Insights’ta “Resimleri uygun boyuta getirin” ve “Görüntü öğelerinde açık genişlik ve yükseklik yok” uyarılarını kontrol edin.

Mobil uyumluluk, SEO uyumlu site kriterlerinin temel parçalarından biridir.

Sıkça Sorulan Sorular

Resim nasıl responsive yapılır?

CSS’te resme max-width: 100% ve height: auto verin. Daha iyi performans için srcset ve sizes ile farklı boyutlarda dosya sunun ve width, height değerlerini yazın.

Resim mobilde neden taşıyor?

Resme sabit piksel genişliği verilmiş veya max-width kuralı yoktur. max-width: 100% kuralı ve sayfada viewport meta etiketinin olduğundan emin olun.

srcset ne işe yarar?

Aynı resmin farklı genişlikteki sürümlerini tanımlar; tarayıcı ekran boyutuna ve piksel yoğunluğuna göre en uygun dosyayı indirir. Böylece telefonlar gereksiz büyük dosya indirmez.

HTML siteyi mobil uyumlu yapmak için ne gerekir?

Head bölümüne viewport meta etiketi eklenmeli, resim ve tablolar esnek genişlikte olmalı, CSS medya sorgularıyla küçük ekranlara göre düzen ayarlanmalıdır.

Lazy loading her resimde kullanılmalı mı?

Hayır. Sayfa açıldığında ekranda görünen ana görselde lazy loading kullanılmamalıdır; aksi halde en büyük içerik öğesinin (LCP) yüklenmesi gecikir.

Benzer İçerikler

Bir yanıt yazın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

Göz Atın
Kapalı
Başa dön tuşu