H. Turgut Uyar
Mart 2019
yazarının adı belirtilmelidir
ticari amaçla kullanılamaz
türetilen eserler aynı lisansla paylaşılmalıdır
genel yapı
Cascading Style Sheets
düz metin
boş stil dosyasını oluşturalım
HTML dosyasının baş kısmında: link
stil dosyası olduğunu belirtmek için: rel
stil dosyası adresi: href
<head>
<meta charset="utf-8"/>
<title>Doğa Kaşifleri - Karga</title>
<link rel="stylesheet" href="kik.css"/>
</head>
hangi elemanlara uygulanacak?
ayar ismi
ayar değeri
eleman {
ayar_ismi: ayar_değeri;
ayar_ismi: ayar_değeri;
}
text-align: HİZA_YÖNÜ;
sola: left
sağa: right
ortaya: center
çift yandan: justify
th {
text-align: left;
}
yazı stilleri
font-family: 'Seçenek 1', 'Seçenek 2', 'Seçenek 3';
her seçenek bir yazı tipi “ailesi”
sıradaki seçeneği bulamıyorsan sonrakine geç
serif
, sans-serif
, monospace
serbestçe kullanılabilecek yazı tipleri
önce stil dosyasına alınmalı
@import url('https://fonts.googleapis.com/css?family=Cabin:400,700|Nunito:400,700');
biri gövde, biri başlıklar için iki yazı tipi seçelim
body
elemanına uygulanırsabody {
font-family: 'Cabin', sans-serif;
}
birden fazla elemana aynı stil uygulanabilir
elemanları virgülle ayırarak:
eleman_1, eleman_2 {
ayar_ismi: ayar_değeri;
}
h1, h2 {
font-family: 'Nunito', sans-serif;
}
font-size: BOYUT;
boyut çeşitli birimlerde verilebilir
px
em
— geçerli boya göre ölçek
rem
— taban boya göre ölçek
body {
font-family: 'Cabin', sans-serif;
font-size: 1.125rem;
}
h1 {
font-size: 3em;
}
font-style: STİL;
normal: normal
italik: italic
em {
font-style: normal;
}
font-weight: AĞIRLIK;
normal: normal
kalın: bold
veya: 400
, 700
em {
font-style: normal;
font-weight: bold;
}
text-decoration: ÇİZGİ;
yok: none
altına: underline
üstüne: overline
ortasına: line-through
em {
font-style: normal;
text-decoration: underline;
}
renkler
color: RENK;
rengin ismi: white
, black
, red
, …
RGB değeri
em {
font-style: normal;
color: #C00000;
}
background-color: RENK;
altlıkta şunları ayarlayalım:
arka plan rengi, yazı rengi
yazı boyu
metin hizalaması
line-height: YÜKSEKLİK;
yazı boyuna göre katsayı
body {
font-family: 'Cabin', sans-serif;
font-size: 1.125rem;
line-height: 1.5;
}
boşluklar
elemandan dışarıya doğru: margin
elemandan içeriye doğru: padding
margin-YÖN: UZAKLIK;
sol: margin-left
sağ: margin-right
üst: margin-top
alt: margin-bottom
footer {
margin-top: 4em;
}
yön belirtilmezse: bütün yönlerden aynı uzaklık
figure {
margin: 0;
}
4 yön birden: üst sağ alt sol
sırasıyla
auto
niteliği kullanılırsa iki yandan aynı boşluk
padding: UZAKLIK;
dış boşluklarla aynı yazım
footer {
margin-top: 4em;
padding: 1em;
}
üstlükteki bağlantıların altı çizili olmasın
ama metin içindekiler eskisi gibi kalsın
alt eleman seçmek için:
üst_eleman alt_eleman {
ayar_ismi: ayar_değeri;
}
header a {
text-decoration: none;
}
header nav a {
margin-left: 1em;
}
üstlüğü düzenleyelim:
renkler
logo
yazı tipleri
boşluklar
yerleştirme
width: BOYUT;
height: BOYUT;
uzunluk ölçüsü
bulunulan alana göre %
diğer boyuta göre ölçekle: auto
büyük resim bulunduğu alanın tüm enini kaplasın
img {
width: 100%;
height: auto;
}
bütün resimler %100 oluyor
sadece o resmi nasıl seçeceğim?
HTML
kimlik niteliği: id
değeri sayfada tek olmalı
CSS
eleman#kimlik
veya: #kimlik
<img src="karga.jpg"
id="poster"
width="1280"
height="427"
alt="Bir parkta ..."/>
img#poster {
width: 100%;
height: auto;
}
max-width: BOYUT;
logonun genişliği en fazla 360px olsun
tablonun çift satırlarının arka plan rengini değiştirelim
birden fazla eleman nasıl seçeceğim?
HTML
sınıf niteliği: class
bir çok elemanda olabilir
CSS
eleman.sınıf
veya: .sınıf
<tr>
<th>Alem:</th>
<td>Hayvanlar</td>
</tr>
<tr class="cift">
<th>Şube:</th>
<td>Kordalılar</td>
</tr>
<tr>
<th>Sınıf:</th>
<td>Kuşlar</td>
</tr>
<tr class="cift">
<th>Takım:</th>
<td>Ötücü kuşlar</td>
</tr>
tr.cift {
background-color: #E0E0E0;
}
içerik kısmına yanlardan boşluk bırakalım
büyük resim kenarlara dayalı
başlığın arka plan rengi var
kuralı hangi elemana uygulayacağız?
gruplama elemanı: div
çoğu zaman class
niteliğiyle kullanılır
<div class="icerik">
<p>İri yapılı, ...</p>
...
<section>
...
</section>
</div>
.icerik {
max-width: 50em;
margin: 0 auto;
}
hangi elemanı kapattığını takip etmek zorlaşıyor
açıklama yazmak okurken yardımcı olur:
<!--
ile başla
-->
ile bitir
<div class="icerik">
<p>İri yapılı, ...</p>
...
<section>
...
</section>
</div> <!-- icerik -->
başlığın arka plan rengini ayarlayalım
kenarlara ve büyük fotoya dayayalım
<div class="afis">
<div class="icerik">
<h1>Karga</h1>
</div> <!-- icerik -->
</div> <!-- afis -->
.afis {
background-color: #E0E0E0;
}
.afis h1 {
margin-top: 0;
}
img#poster {
display: block;
}
ilk harfin boyunu büyütüp arka plan rengini değiştirelim
div
paragraf düzeyinde gruplama için
paragraf içi: span
<p><span class="ilk-harf">İ</span>ri yapılı,
düz gagalı, ...</p>
.ilk-harf {
font-family: Georgia, serif;
font-size: 3em;
float: left;
width: 1em;
margin-right: 0.15em;
background-color: #E0E0E0;
text-align: center;
}
galeri fotolarını sütunlara dizelim
her sütun için bir div
tanımlayalım
sütunları gruplamak için de bir üst div
<div class="sutun">
<figure>
...
</figure>
</div> <!-- sutun: 1 -->
<div class="sutunlar">
<div class="sutun">
...
</div> <!-- sutun: 1 -->
...
<div class="sutun">
...
</div> <!-- sutun: 4 -->
</div> <!-- sutunlar -->
display: flex;
.sutunlar {
display: flex;
justify-content: space-between;
}
resimleri yuvarlatalım
resim yazılarını ortalayalım
<section class="galeri">
<h2>Galeri</h2>
...
</section> <!-- galeri -->
.galeri img {
border-radius: 50%;
}
.galeri figcaption {
text-align: center;
}
yazıları birinci, tabloyu ikinci sütuna alalım
bir elemana birden fazla sınıf atanabilir
boşlukla ayırarak
<div class="sutun ucte-iki">
...
</div>
.ucte-iki {
width: 66.7%;
}
CSS bölümünün sonu