Mehmet

WFN Üye
Konular
1,851
Mesajlar
1,852
Çözüm
0
Ticaret Puanı
0
Üyelik
1 Ay 6 Gün
Konum
YurtDışı
Web Sitesi
Var
Alanı
Google Adsense
1/1
Konu sahibi

HTML padding nedir?​


HTML’de sıkça “padding” olarak anılsa da padding, HTML etiketinin değil CSS’in bir özelliğidir. Bir elementin içeriği ile kenarlığı arasındaki iç boşluğu belirler. Örneğin bir kutunun içindeki yazının kenarlığa yapışmasını önlemek için kullanılır. Elementin dışındaki komşu elementlerle mesafeyi ayarlamak için ise margin kullanılır.

Padding nasıl çalışır?​


Bir kutuyu içeriden genişletir: metin, görsel veya diğer içerik ile border arasında boşluk bırakır. Arka plan rengi veya görseli genellikle bu iç boşluk alanında da görünür. CSS özelliğinin başlangıç değeri 0 olsa da tarayıcı bazı HTML öğelerine kendi stilinden padding verebilir.

Çalıştırılabilir örnek​


Aşağıdaki dosyayı padding-ornek.html adıyla kaydedip tarayıcıda açın:

HTML:
<!doctype html>
<html lang="tr">
<head>
  <meta charset="utf-8">
  <meta name="viewport" content="width=device-width, initial-scale=1">
  <title>Padding örneği</title>
  <style>
    .kutu {
      width: 220px;
      padding: 20px;
      border: 2px solid #333;
      background: #e8f2ff;
    }
  </style>
</head>
<body>
  <div class="kutu">Bu yazı kenarlığa yapışık değildir.</div>
</body>
</html>

Beklenen sonuç, metnin etrafında 20 piksel iç boşluk bulunan açık mavi bir kutudur. Kenarlık ile yazı arasındaki mesafe değişiyorsa padding çalışıyor demektir. Değişiklik görünmüyorsa CSS seçicisinin HTML’deki sınıfla eşleştiğini ve dosyanın gerçekten kaydedilip yenilendiğini kontrol edin.

Bu örnekte content-box kullanılır: 220 + 20 + 20 + 2 + 2 = 264px toplam genişlik oluşur. width: 220px yalnız içerik alanını belirtir. Varsayılan kutu modelinde padding ve border bu genişliğin üzerine eklenebilir. Kutunun toplam genişliğini daha öngörülebilir yapmak için şu kural kullanılabilir:

CSS:
.kutu {
  box-sizing: border-box;
}

Böylece belirtilen width değeri içerik, padding ve border alanlarını birlikte kapsar. Ancak bu kural, içeriğin kullanılabilir alanını azaltabileceği için geniş kutularda metin satırlarının değişmesine neden olabilir.

Padding dört yönde ayrı ayrı tanımlanabilir:

YazımUygulanan yönÖrnek
Tek değerDört yönpadding: 16px;
İki değerÜst-alt | sağ-solpadding: 10px 20px;
Üç değerÜst | sağ-sol | altpadding: 10px 20px 30px;
Dört değerÜst | sağ | alt | solpadding: 10px 20px 30px 40px;

Dört değer kullanıldığında sıra saat yönündedir: üst, sağ, alt, sol. Yalnızca tek bir kenarı değiştirmek için padding-top, padding-right, padding-bottom veya padding-left yazılabilir.

Padding mi, margin mi?​


Yazı ile kutunun kenarı arasındaki boşluğu artırmak istiyorsanız padding kullanın. İki ayrı kutunun birbirinden uzaklaşmasını istiyorsanız margin kullanın. Padding elementin iç alanını büyütür; margin ise elementin dışındaki yerleşimi etkiler.

Mobil uyumlu veya farklı yazı yönlerini destekleyen tasarımlarda fiziksel yönler yerine padding-block ve padding-inline gibi mantıksal özellikler tercih edilebilir. Sabit bir görünüm için piksel, yazı boyutuna göre ölçeklenen boşluk için em veya rem kullanılabilir. Negatif padding değeri geçerli değildir.

Sık sorulan sorular​


Yüzdeyle verilen üst padding neden yüksekliğe göre hesaplanmıyor?​


Yatay yazı düzeninde yüzde padding değerleri, üst ve alt kenarlarda da kapsayıcının genişliğine göre çözülür. Bu yüzden padding-top: 10% kutunun kendi yüksekliğinin onda biri değildir. Sonucu geliştirici araçlarındaki hesaplanan piksel değerinden kontrol edin.

Padding ile içeriği ortalayabilir miyim?​


Padding yalnızca iç boşluk oluşturur, tek başına içeriği geometrik olarak ortalamaz. İçeriği yatay veya dikey ortalamak için genellikle display: flex ile justify-content ve align-items özellikleri birlikte kullanılır.
 
Konudaki box-sizing uyarısı bence en önemli kısım, çünkü padding yüzünden taşan kutularla yeni başlayan hemen herkes karşılaşıyor. Ben kendi şablonlarımda en başta box-sizing: border-box kullanmayı alışkanlık haline getirdim; böylece bir karta width: 100% verip padding eklediğimde genişliğin beklenmedik şekilde büyümediğini biliyorum. Bir de buton ve bağlantılarda padding'i sadece görsel boşluk için değil, dokunmatik hedefi büyütmek için kullanıyorum; mobilde küçük bir yazıya tıklamak zor oluyor, padding sayesinde tıklanabilir alan rahatlıyor. Yüzde padding'in genişliğe göre hesaplandığını da geç fark etmiştim, özellikle üst-alt boşluklarda sabit bir oran beklerken sürpriz oluyor. Küçük bir not: mobil görünümde çok büyük sabit padding kullanmaktan kaçınıyorum, dar ekranda içerik alanı daralıyor; bunun yerine rem veya daha küçük değerler tercih ediyorum. Faydalı bir anlatım olmuş, teşekkürler.
 

Sende şimdi bize katılmak ister misin?

Kayıt ol

Bize katılım kolay ve ücretsizdir!

Konuyu görüntüleyenler

Bu konuyu şu anda görüntüleyen üye bulunmuyor.