Padding nedir
Padding, bir elementin içindeki, içeriği ile kenarlığı arasındaki boşluktur. Elementin arka planını alır, bu yüzden bir butona, bir karta ya da bir rozete nefes alacak yer veren özellik odur.
Mavi alan içeriktir. Çevresindeki yeşil şerit her kenardaki 24px padding'dir ve kenarlık onun dışında durur.
Padding kısa yazımı: 1, 2, 3 ya da 4 değer
padding dört kenarı tek bildirimde ayarlar. Değer sayısı, üstten başlayıp saat yönünde ilerleyerek hangi kenarın hangi değeri alacağını belirler:
| Bildirim | Üst | Sağ | Alt | Sol |
|---|---|---|---|---|
padding: 10px; | 10 | 10 | 10 | 10 |
padding: 10px 20px; | 10 | 20 | 10 | 20 |
padding: 10px 20px 30px; | 10 | 20 | 30 | 20 |
padding: 10px 20px 30px 40px; | 10 | 20 | 30 | 40 |
İki değer "dikey, yatay" demektir. Üç değer "üst, yatay, alt" demektir. Dört değer saat yönünde döner: üst, sağ, alt, sol (İngilizcede yaygın bir hatırlatıcı TRouBLe'dır: Top, Right, Bottom, Left).
Aşağıya herhangi bir kısa yazım gir. Kutu yeniden çizilir ve tarayıcı her kenarın ne aldığını bildirir:
8px, 8px 24px, 0 0 40px ve 1em 5% dene. -10px gibi geçersiz bir değer yok sayılır ve kutu son geçerli padding'i korur.
Her seferinde tek kenar
Her kenarın kendi özelliği vardır; yalnızca birini değiştirmek istediğinde dört değerli bir kısa yazımdan daha anlaşılırdır:
.card {
padding-top: 16px;
padding-right: 24px;
padding-bottom: 16px;
padding-left: 24px;
}
Bir kısa yazım ve ardından tek bir kenar yaygın bir kalıptır: her şeyi ayarla, sonra bir kenarı düzelt.
.card {
padding: 16px;
padding-bottom: 32px; /* only the bottom changes */
}
Burada sıra önemlidir: padding-bottom'dan sonra yazılan bir padding kısa yazımı alt değeri tekrar 16px'e sıfırlar.
Mantıksal padding: padding-inline ve padding-block
padding-left ve padding-right fizikseldir: her dilde aynı tarafta kalırlar. Mantıksal özellikler ise yazı yönünü takip eder; sağdan sola da gösterilen bir sitede istediğin budur:
| Mantıksal özellik | İngilizcede (soldan sağa) | Arapçada (sağdan sola) |
|---|---|---|
padding-inline-start | sol | sağ |
padding-inline-end | sağ | sol |
padding-inline | sol ve sağ | sağ ve sol |
padding-block | üst ve alt | üst ve alt |
Padding kutuyu büyütür (border-box değilse)
Varsayılan olarak width yalnızca içeriğin genişliğidir ve padding onun üstüne eklenir. padding: 20px olan width: 200px bir kutu 240px genişliğindedir:
box-sizing: border-box kutuyu 200px'te tutar ve padding'i içeriden alır. Hesabın tamamı kutu modeli sayfasında.
Yüzdelik padding
Yüzdelik bir padding, üst ve alt dahil dört kenarın hepsinde ebeveynin genişliğine göre ölçülür:
16:9 video kutuları için kullanılan eski "padding-top: 56.25%" hilesi buradan geliyor. Bugün aspect-ratio: 16 / 9 aynı işi doğrudan yapıyor.
Butonlarda ve linklerde padding
Bir linki ya da butonu büyütmenin doğru yolu padding'dir, çünkü padding elementin parçasıdır ve dolayısıyla tıklayabileceğin ya da dokunabileceğin alanın parçasıdır. Margin boşluk ekler ama hedefi büyütmez.
.btn {
display: inline-block; /* lets vertical padding take space in the line */
padding: 10px 18px; /* a comfortable touch target */
}
Padding'in kabul ettiği değerler
| Değer | Örnek | Notlar |
|---|---|---|
| Uzunluk | 12px, 1rem, 0.5em | em elementin yazı boyutuyla ölçeklenir |
| Yüzde | 5% | Kapsayıcı bloğun genişliğinin |
0 | padding: 0 | Birim gerekmez |
| Negatif | -10px | Geçersiz, yok sayılır |
auto | auto | Padding için geçersiz (margin için çalışır) |
Sık yapılan hatalar
- Dört değerli kısa yazımda yanlış sıra. Sıra saat yönündedir: üst, sağ, alt, sol.
- Padding ekleyince büyüyen bir kutu.
box-sizing: border-boxver. - İki elementi ayırmak için padding kullanmak. Elementler arasındaki boşluk margin'dir; padding tek bir elementin içindeki boşluktur. Bkz. margin ve padding farkı.
- Diğer satırlarla çakışan satır içi bir linkte dikey padding. Onu
inline-blockyap. - Negatif padding ya da
padding: auto. İkisi de geçersizdir ve sessizce yok sayılır.
Sıkça Sorulan Sorular
CSS'te padding nedir?
Padding, bir elementin içeriği ile kenarlığı arasındaki boşluktur. Elementin parçasıdır, bu yüzden elementin arka plan rengini gösterir ve bir linkin ya da butonun tıklanabilir alanını büyütür.
Padding kısa yazımında değerler hangi sırada?
Üstten başlayarak saat yönünde: padding: top right bottom left;. Üç değerle üst, sol ve sağ, alt; iki değerle üst ve alt, sonra sol ve sağ; tek değerle dört kenarın hepsi.
Padding bir elementin boyutunu büyütür mü?
Varsayılan box-sizing: content-box ile evet: padding width ve height değerlerine eklenir. box-sizing: border-box ile padding genişliğin içinden alınır, böylece element verdiğin boyutu korur.
Yüzdelik padding neye göre hesaplanır?
Dört kenarın hepsi için kapsayıcı bloğun genişliğine göre. padding-top: 50% ebeveynin yüksekliğinin değil genişliğinin yarısıdır; eski en boy oranı hilelerinin dikey padding kullanmasının nedeni budur.
Padding negatif olabilir mi?
Hayır. Negatif bir padding değeri geçersizdir ve bildirim yok sayılır. İçeriği dışarı çekmek için bunun yerine negatif bir margin kullan.
HTML'de padding nasıl eklenir?
CSS ile, bir stil dosyasında ya da bir style özniteliğinde: <div style="padding: 16px;">. HTML'de genel elementler için bir padding özniteliği yoktur; tablolardaki eski cellpadding özniteliği artık kullanılmıyor ve yerini td ve th üzerindeki padding aldı.