Arka Plan ve Görünüm
Bu dersin sonunda arka plana resim ve renk geçişi ekleyebilecek, elemanların görünme ve yer kaplama biçimini değiştirebileceksiniz.
Arka plan resmi
background-image bir elemanın arkasına resim koyar. Adres url() içine yazılır. style değeri çift tırnak içinde olduğu için adresi tek tırnakla yazın.
Arka plan resmi elemanın boyutunu belirlemez. İçi boş bir kutunun yüksekliği sıfırsa resim de görünmez, bu yüzden kutuya bir yükseklik verin.
background-sizeResmin boyutu.coverkutuyu tamamen doldurur ve taşanı keser.containresmin tamamını gösterir, boşluk kalabilir.background-positionResmin konumu. Örneğincenterveyatop left.background-repeatResmin tekrar edip etmeyeceği.repeat,no-repeat,repeat-x,repeat-y.background-attachmentSayfa kaydırılınca resmin ne yapacağı.scrollsayfayla birlikte kayar,fixedyerinde kalır.
<div style="height: 140px; margin-bottom: 8px; background-color: lightgray; background-image: url('baldiyetapanadam.png'); background-size: cover; background-position: center;"></div>
<div style="height: 140px; margin-bottom: 8px; background-color: lightgray; background-image: url('baldiyetapanadam.png'); background-size: contain; background-repeat: no-repeat; background-position: center;"></div>
<div style="height: 140px; background-color: lightgray; background-image: url('baldiyetapanadam.png'); background-size: 60px; background-repeat: repeat-x;"></div>Sayfanın içeriğinin parçası olan resimler için img kullanın. Arka plan resimleri ekran okuyucular tarafından okunmaz ve alt metni alamaz. Süs olan resimler için background-image uygundur.
Sayfanın tamamını kaplayan bir arka plan için bu özelliklerin hepsi body etiketine birlikte yazılır:
body {
background-image: url('arka-plan.jpg');
background-size: cover;
background-repeat: no-repeat;
background-attachment: fixed;
background-position: center;
}
Renk geçişleri
Geçişler, resim gibi background-image ile verilir:
linear-gradientDüz bir çizgi boyunca geçiş yapar. Yönto right,to bottomgibi veya45deggibi derece olarak yazılır.radial-gradientMerkezden dışa doğru geçiş yapar.
<div style="padding: 24px; margin-bottom: 8px; background-image: linear-gradient(to right, gold, crimson);">Soldan sağa</div>
<div style="padding: 24px; margin-bottom: 8px; color: white; background-image: linear-gradient(135deg, midnightblue, teal, gold);">Çapraz ve üç renk</div>
<div style="padding: 24px; background-image: radial-gradient(circle, white, lightblue);">Merkezden dışa</div>Bütün bunları background kısayoluyla da yazabilirsiniz: background: lightgray url('resim.png') no-repeat center;
background yazdığınızda belirtmediğiniz arka plan değerleri varsayılana döner. Tek bir renk için background: gold yazmak da geçerlidir ve çok yaygındır.
opacity: Saydamlık
opacity elemanın tamamını saydam yapar: arka planını, yazısını ve içindeki her şeyi. 0 görünmez, 1 tamamen opaktır. Yalnızca arka planı saydam yapmak istiyorsanız rgba kullanın.
<div style="background-image: linear-gradient(to right, gold, crimson); padding: 16px;">
<p style="background-color: white; opacity: 0.4; padding: 8px;">opacity: yazı da soluklaştı</p>
<p style="background-color: rgba(255, 255, 255, 0.4); padding: 8px;">rgba: yalnızca arka plan saydam</p>
</div>display: Elemanın davranışı
Blok ve Satır İçi Elemanlar dersinde gördüğünüz davranışı display değiştirir:
blockSatırın tamamını kaplar,widthveheightalır.inlineSatırın içinde akar,widthveheightalmaz.inline-blockSatırın içinde akar amawidthveheightalır.noneEleman tamamen kaldırılır, yer de kaplamaz.
Bir önceki derste span etiketine neden genişlik verilemediğini böylece anlayabilirsiniz: span varsayılan olarak inline çalışır.
<p>
<span style="width: 200px; background-color: lightblue;">inline: genişlik yok sayıldı</span>
</p>
<p>
<span style="display: inline-block; width: 200px; background-color: lightgreen;">inline-block</span>
<span style="display: inline-block; width: 100px; background-color: khaki;">yan yana</span>
</p>
<p>
<span style="display: block; background-color: lightpink;">block: satırı kapladı</span>
</p>
<ul style="list-style-type: none; padding: 0;">
<li style="display: inline-block; margin-right: 12px;">Yatay</li>
<li style="display: inline-block; margin-right: 12px;">bir</li>
<li style="display: inline-block;">menü</li>
</ul>display değerini değiştirmek elemanın anlamını değiştirmez. span etiketine display: block yazmak onu paragraf yapmaz.
Resmi ortalamak
img varsayılan olarak satır içi çalışır, bu yüzden margin: 0 auto tek başına resmi ortalamaz. Önce display: block yazmanız gerekir.
<img src="baldiyetapanadam.png" alt="Örnek resim" style="display: block; margin: 0 auto; width: 200px;">Gizlemenin üç yolu
display: noneEleman yok olur, yerini diğerleri alır.visibility: hiddenEleman görünmez ama yeri boş kalır.opacity: 0Eleman görünmez, yeri boş kalır ve tıklanabilir olmaya devam eder.
<p>Birinci satır</p>
<p style="display: none;">display: none</p>
<p>Üstte boşluk yok</p>
<p style="visibility: hidden;">visibility: hidden</p>
<p>Üstte bir paragraflık boşluk var</p>overflow: Taşan içerik
İçerik kutuya sığmıyorsa ne olacağını belirler:
visibleVarsayılan. İçerik kutudan taşar.hiddenTaşan kısım kesilir.scrollHer zaman kaydırma çubuğu gösterir.autoYalnızca gerekirse kaydırma çubuğu gösterir.
<div style="height: 50px; width: 220px; border: 1px solid gray; margin-bottom: 60px; overflow: visible;">visible: Bu yazı kutuya sığmıyor ve kutunun altına doğru taşıyor. Kenarlığın dışına çıkan satırlara dikkat edin.</div>
<div style="height: 50px; width: 220px; border: 1px solid gray; margin-bottom: 8px; overflow: hidden;">hidden: Bu yazı kutuya sığmıyor ve taşan kısım kesiliyor. Bu satırları göremezsiniz.</div>
<div style="height: 50px; width: 220px; border: 1px solid gray; overflow: auto;">auto: Bu yazı kutuya sığmıyor, bu yüzden kutunun içinde kaydırabilirsiniz. Fare tekerleğiyle deneyin.</div>Resimleri kutuya sığdırmak: object-fit
Bir img etiketine farklı oranda width ve height verirseniz resim bozulur. object-fit bunu önler:
fillVarsayılan. Resim esner.coverKutuyu doldurur, taşan kesilir.containResmin tamamı görünür.
<img src="baldiyetapanadam.png" alt="Örnek resim" style="width: 140px; height: 70px; background-color: lightgray;">
<img src="baldiyetapanadam.png" alt="Örnek resim" style="width: 140px; height: 70px; object-fit: cover; background-color: lightgray;">
<img src="baldiyetapanadam.png" alt="Örnek resim" style="width: 140px; height: 70px; object-fit: contain; background-color: lightgray;">cursor ve filter
cursor fare imlecinin görünümünü değiştirir. Değerleri arasında pointer, not-allowed, help, move ve text vardır.
filter bir elemana görsel efekt uygular: grayscale(100%), blur(2px), brightness(150%), contrast(200%), sepia(100%).
<p><span style="cursor: help; border-bottom: 1px dotted gray;">Üzerine gelin: help</span></p>
<p><span style="cursor: not-allowed;">Üzerine gelin: not-allowed</span></p>
<img src="baldiyetapanadam.png" alt="Gri tonlu örnek resim" style="width: 100px; filter: grayscale(100%);">
<img src="baldiyetapanadam.png" alt="Bulanık örnek resim" style="width: 100px; filter: blur(2px);">url içinde çift tırnak kullanmak. style değeri orada biter. Tek tırnak kullanın.
İçi boş kutuya arka plan resmi verip yükseklik vermemek. Yüksekliği sıfır olan kutuda resim görünmez.
İçerik resimlerini arka plana koymak. Anlamı olan resimler için img ve alt kullanın.
opacity ile yalnızca arka planı soldurmaya çalışmak. opacity içerideki yazıyı da etkiler. rgba kullanın.
Elemanı gizleyen ama yerini boş bırakan hangisidir?
-
display: none;:: Bu değer elemanın kapladığı yeri de kaldırır. -
visibility: hidden;:: Doğru. -
overflow: hidden;:: Bu değer yalnızca taşan içeriği gizler.
Bir span etiketinin width kabul etmesi için hangisi yazılabilir?
-
display: inline-block;:: Doğru. -
display: inline;::inlineelemanlarwidthkabul etmez. -
overflow: auto;::overflowtaşan içeriği yönetir.
Arka plan resmi kutuyu tamamen doldursun, taşan kısmı kesilsin istiyorsunuz. Hangisini yazarsınız?
-
background-size: contain;::containresmin tamamını gösterir, boşluk kalabilir. -
background-size: cover;:: Doğru. -
background-repeat: cover;::cover,background-sizedeğeridir.
Hedefteki kodu yazın. Yaz Şenliği yazan bir div yazın. Bildirimleri bu sırayla yazın: padding değeri 24px, yazı rengi white, arka planı linear-gradient(to right, teal, navy) olsun. Geçişi background-image özelliğiyle yazın.
<div style="padding: 24px; color: white; background-image: linear-gradient(to right, teal, navy);">Yaz Şenliği</div>Hedefteki kodu yazın. İki span yazın, biri HTML diğeri CSS olsun. İkisinde de bildirimleri bu sırayla yazın: display değeri inline-block, padding değeri 4px 12px, arka planı gold olsun.
<span style="display: inline-block; padding: 4px 12px; background-color: gold;">HTML</span>
<span style="display: inline-block; padding: 4px 12px; background-color: gold;">CSS</span>Bu derste öğrendikleriniz
background-imageresim veya renk geçişi alır,background-sizevebackground-positionyerleşimini belirler.opacityelemanın tamamını,rgbayalnızca o rengi saydam yapar.displayelemanın blok mu satır içi mi davranacağını belirler.display: noneyeri de kaldırır,visibility: hiddenyeri korur.overflow,object-fit,cursorvefiltergörünümün ince ayarlarıdır.
Dersi bitirdin mi?Bu dersi tamamladın.
İlerlemen bu tarayıcıda saklanır.