Menu

CSS Arka Plan Resmi: Boyut, Konum, Tekrar ve Cover

background-image bir elementin içeriğinin arkasına bir resim ya da gradyan koyar. url() ve gradyanları, background-size'ı (cover ve contain), background-position'ı, background-repeat'i, birden fazla arka planı katman olarak kullanmayı ve background kısa yazımını öğren.

Bu sayfada çalıştırılabilir editörler var - düzenle, çalıştır ve sonucu anında gör.

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 div 0px yüksekliğindedir. Ona içerik, padding, bir height ya da bir aspect-ratio ver.
  • 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ğerSonuç
auto (varsayılan)Resmin kendi boyutu
coverKutu tamamen dolana kadar ölçeklenir; fazlası kırpılır
containResmin tamamı sığana kadar ölçeklenir; iki tarafta gri şeritler kalır
200px200px genişlik, yükseklik orantılı
50% autoKutunun 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

ÖzellikNe yapar
background-attachment: fixedSayfa kayarken resim yerinde kalır (iOS Safari'de yok sayılır)
background-originKonumun kenarlık, padding ya da içerik kenarından başlayıp başlamadığı
background-clipArka planın nereye boyandığı, harfleri doldurmak için text dahil
background-blend-modeKatmanları 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, contain ya da küçük bir resimle: resim döşenir.
  • cover'ı kastederken 100% 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 zaman url("...") 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.

Coddy programming languages illustration

Coddy ile kodlamayı öğren

BAŞLA