Arka plan resmi nasıl eklenir
background-image, elementin içeriğinin, padding'inin ve kenarlığının arkasına bir resim boyar. Varsayılan olarak padding kutusunun sol üst köşesinden başlar, doğal boyutunu korur ve kutuyu doldurmak için tekrar eder:
Gerçek bir projede url() bir dosyayı gösterir: url("images/hero.jpg"). Yol, onu içeren stil dosyasına göre (bir <style> elementi için sayfaya göre) görelidir. Bu sayfadaki örnekler her yerde çalışsın diye data: URL'leri olarak satır içi yazılmış küçük SVG resimler kullanıyor.
Baştan bilmen gereken iki şey:
- Arka plan bir elemente boyut vermez. Arka plan resmi olan boş bir
div0px yüksekliğindedir. Ona içerik, padding, birheightya da biraspect-ratiover. - Arka plan resmi süslemedir. Ekran okuyucular onu atlar ve alt metni yoktur. Anlam taşıyan bir resmin yeri bir
<img>elementidir.
background-size: cover, contain ve uzunluklar
background-size resmi ölçekler. İki anahtar kelime oranlarını korur:
Resim yüksekliğinin iki katı genişliğinde ve her kutu kare.
| Değer | Sonuç |
|---|---|
auto (varsayılan) | Resmin kendi boyutu |
cover | Kutu tamamen dolana kadar ölçeklenir; fazlası kırpılır |
contain | Resmin tamamı sığana kadar ölçeklenir; iki tarafta gri şeritler kalır |
200px | 200px genişlik, yükseklik orantılı |
50% auto | Kutunun genişliğinin yarısı, yükseklik orantılı |
100% 100% | Tam olarak kutunun boyutu; oranlar farklıysa resmi bozar |
Hero bannerlar ve kartlar için olağan seçim cover'dır. contain ise asla kesilmemesi gereken logolar ve çizimler içindir.
background-position ve background-repeat
background-position resmi kutunun içine anahtar kelimelerle (top, center, bottom, left, right), yüzdelerle ya da uzunluklarla yerleştirir. background-repeat döşemeyi kontrol eder. Birkaç değer dene:
Konum olarak top right, bottom 10px right 20px ve 25% 75%, tekrar değeri olarak repeat-x, repeat-y, space (hiçbiri kesilmesin diye aralıklı döşer) ve round (tam sayıda sığsın diye yeniden boyutlandırılmış döşer) dene.
Katmanlar: birden fazla arka plan ve metin katmanı
background-image virgülle ayrılmış bir liste alır. İlk katman en üste çizilir. Yaygın kullanım, beyaz metin okunaklı kalsın diye bir fotoğrafın üzerine yarı saydam bir gradyandır:
aspect-ratio boş kutuya bir yükseklik verir ve background-size: cover iki katmana da uygulanır. Daha fazla gradyan tarifi için CSS gradyanlar sayfasına bak.
background kısa yazımı
background bütün arka plan özelliklerini tek satırda ayarlar. Boyut, konumdan hemen sonra eğik çizgiyle ayrılarak gelmelidir ve renk son katmana yazılır:
.hero {
background: url("hero.jpg") center / cover no-repeat, #1f2937;
}
/* the same as */
.hero {
background-image: url("hero.jpg");
background-position: center;
background-size: cover;
background-repeat: no-repeat;
background-color: #1f2937;
}
Yedek renk, resim yüklenirken ve yüklenemezse görünür. Kısa yazıma dahil etmediğin her özellik varsayılanına sıfırlanır, bu yüzden kısa yazımı önce, tekil özellikleri ondan sonra yaz.
Diğer arka plan özellikleri
| Özellik | Ne yapar |
|---|---|
background-attachment: fixed | Sayfa kayarken resim yerinde kalır (iOS Safari'de yok sayılır) |
background-origin | Konumun kenarlık, padding ya da içerik kenarından başlayıp başlamadığı |
background-clip | Arka planın nereye boyandığı, harfleri doldurmak için text dahil |
background-blend-mode | Katmanları multiply gibi modlarla karıştırır |
Sık yapılan hatalar
- Yanlış bir yol. Bir stil dosyasındaki
url(), HTML sayfasına değil CSS dosyasına göre görelidir. - Boş bir element. Yüksekliği yoktur, bu yüzden resmin görüneceği bir yer yoktur.
no-repeat'i unutmak,containya da küçük bir resimle: resim döşenir.cover'ı kastederken100% 100%ile germek.- Önemli resimleri arka plan yapmak. İçerik için alt metinli
<img>kullan; arka planlar ekran okuyuculara görünmez. - Boşluk ya da tırnak içeren bir
data:URL'inin etrafında tırnak eksikliği. Her zamanurl("...")yaz.
Sıkça Sorulan Sorular
CSS'te arka plan resmi nasıl eklenir?
Elemente background-image: url("photo.jpg"); ver. Yol, CSS dosyasına göre (bir style özniteliği ya da <style> elementi için sayfaya göre) görelidir. Elemente bir boyut ver, çünkü bir arka plan boş bir elementi asla büyütmez.
Arka plan resmi bütün elementi nasıl kaplar?
background-position: center; ile birlikte background-size: cover; kullan. Resim oranlarını koruyarak kutuyu tamamen dolduracak şekilde ölçeklenir ve taşan kısım kırpılır.
cover ile contain arasındaki fark nedir?
cover bütün kutuyu doldurur ve sığmayanı kırpar. contain bütün resmi gösterir ve oranlar farklı olduğunda iki tarafta boş alan bırakır.
Arka plan resminin tekrar etmesi nasıl engellenir?
background-repeat: no-repeat; ekle. Varsayılan olarak bir arka plan resmi, elementi doldurmak için iki yönde de döşenir.
Arka plan resmim neden görünmüyor?
Olağan nedenler url() içindeki yanlış bir yol (CSS dosyasına göre görelidir), içeriği olmadığı için yüksekliği olmayan bir element ya da resmi sıfırlayan daha sonraki bir background kısa yazımıdır.