CSS Podcast'i - 008: Boyutlandırma Birimleri
Web, duyarlı bir ortamdır ancak bazen genel arayüz kalitesini artırmak için boyutlarını kontrol etmek istersiniz. Buna iyi bir örnek, okunabilirliği iyileştirmek için satır uzunluklarını sınırlamaktır. Web gibi esnek bir ortamda bunu nasıl yaparsınız?
Bu durumda, oluşturulan yazı tipinde "0" karakterinin hesaplanmış boyutundaki genişliğe eşit olan bir ch
birimi kullanabilirsiniz.
Bu birim, metnin genişliğini, metni boyutlandırmak için tasarlanmış bir birimle sınırlamanıza,
Bunun karşılığında
metnin boyutundan bağımsız olarak öngörülebilir kontrol sağlar.
ch
birimi, bu örnek gibi belirli bağlamlarda faydalı olabilecek birkaç birimden biridir.
Numbers
Sayılar, opacity
, line-height
ve hatta rgb
'deki renk kanalı değerlerini tanımlamak için kullanılır.
Sayılar, birimsiz tam sayılar (1, 2, 3, 100) ve ondalık sayılardır (.1, .2, .3).
Sayıların anlamları, bağlamlarına göre değişir.
Örneğin, line-height
tanımlanırken
Sayı, bir destek birimi olmadan tanımlarsanız oranı temsil eder:
p {
font-size: 24px;
line-height: 1.5;
}
Bu örnekte 1.5
, p
öğesinin hesaplanmış piksel yazı tipi boyutunun %150'sine eşittir.
Yani p
öğesinin font-size
değeri 24px
ise satır yüksekliği 36px
olarak hesaplanır.
Sayılar aşağıdaki yerlerde de kullanılabilir:
- Filtreler için değerler ayarlanırken:
filter: sepia(0.5)
, öğeye50%
sepya filtresi uygular. - Opaklık ayarlanırken:
opacity: 0.5
,50%
opaklık uygular. - Renk kanallarında:
rgb(50, 50, 50)
, Burada 0-255 değerleri bir renk değeri ayarlamak için kabul edilebilir. Renk dersine bakın. - Bir öğeyi dönüştürmek için:
transform: scale(1.2)
, öğeyi başlangıç boyutunun% 120'si oranında ölçeklendirir.
Yüzdeler
CSS'de yüzde kullanırken yüzdenin nasıl hesaplandığını bilmeniz gerekir.
Örneğin, width
, üst öğedeki kullanılabilir genişliğin yüzdesi olarak hesaplanır.
div {
width: 300px;
height: 100px;
}
div p {
width: 50%;
}
Yukarıdaki örnekte, düzenin varsayılan box-sizing: content-box
öğesini kullandığı varsayılarak div p
öğesinin genişliği 150px
şeklindedir.
margin
veya padding
'ü yüzde olarak ayarlarsanız bu değerler, yönden bağımsız olarak üst öğenin genişliğinin bir kısmı olur.
div {
width: 300px;
height: 100px;
}
div p {
margin-top: 50%; /* calculated: 150px */
padding-left: 50%; /* calculated: 150px */
}
Yukarıdaki snippet'te hem margin-top
hem de padding-left
150px
olarak hesaplanır.
div {
width: 300px;
height: 100px;
}
div p {
width: 50%; /* calculated: 150px */
transform: translateX(10%); /* calculated: 15px */
}
transform
değerini yüzde olarak ayarlarsanız bu değer, dönüşüm ayarlanmış öğeyi temel alır.
Bu örnekte, p
için translateX
değeri 10%
ve width
değeri 50%
olarak belirlenmiştir.
Öncelikle, üst genişliğinin% 50'si kadar olduğu için genişliğin ne olacağını hesaplayın: 150px
.
Ardından, toplam 150px
tutarından 10%
alın. Bu işlem 15px
tutarındadır.
Boyutlar ve uzunluklar
Bir sayıya birim eklerseniz bu sayı boyut olur.
Örneğin, 1rem
bir boyuttur.
Bu bağlamda, bir sayıya eklenen birim, spesifikasyonlarda boyut jetonu olarak adlandırılır.
Uzunluklar, mesafeyi ifade eden boyutlardır ve mutlak veya göreli olabilir.
Mutlak uzunluklar
Tüm mutlak uzunluklar aynı tabana karşı çözümlenir,
bunları CSS'nizde kullanıldıkları her yerde
tahmin edebilirsiniz.
Örneğin, öğenizi boyutlandırmak için cm
kullanırsanız ve ardından yazdırmayı
bir cetvelle karşılaştırıldığında doğru olması gerekir.
div {
width: 10cm;
height: 5cm;
background: black;
}
Bu sayfayı yazdırdıysanız div
, 10x5 cm siyah dikdörtgen olarak yazdırılır.
CSS'nin yalnızca dijital içerik için değil, basılı içeriğe stil vermek için de kullanıldığını unutmayın.
Mutlak uzunluklar baskı için tasarım yaparken çok kullanışlı olabilir.
Göreli uzunluklar
Göreceli uzunluk, tıpkı yüzde gibi bir taban değere göre hesaplanır.
Bu değerlerle yüzdeler arasındaki fark, öğeleri bağlama göre boyutlandırabilmenizdir.
Bu, CSS'de metin boyutunu temel alan ch
gibi birimler ve görüntü alanının (tarayıcı pencereniz) genişliğine dayalı vw
gibi birimler olduğu anlamına gelir.
Göreli uzunluklar, duyarlı yapıları nedeniyle özellikle web'de kullanışlıdır.
Yazı tipi boyutuna bağlı birimler
CSS, oluşturulan tipografideki öğelerin boyutuna göre yararlı birimler sağlar.
örneğin metnin boyutu (em
birim) veya yazı karakterlerinin genişliği (ch
birim) gibi.
birim | şuna göre: |
---|---|
em | Yazı tipi boyutuna göre Ör. 1,5 em, üst öğesinin temel hesaplanan yazı tipi boyutundan% 50 daha büyük olur. (Geçmişte büyük "M" harfinin yüksekliği). |
ex | Öğenin mevcut hesaplanmış yazı tipi boyutunda x yüksekliğinin, "x" harfinin mi yoksa `.5em` değerinin mi kullanılacağını belirlemek için kullanılan sezgisel yöntem. |
cap | Öğenin mevcut hesaplanan yazı tipi boyutundaki büyük harflerin yüksekliği. |
ch | Ortalama karakter ilerlemesi öğenin yazı tipindeki dar bir glifin ("0" glifiyle temsil edilir). |
ic | Öğenin yazı tipindeki tam genişlikli bir glif için "水" (CJK su ideogramı, U+6C34) glifiyle temsil edilen ortalama karakter ilerleme. |
rem | Kök öğenin yazı tipi boyutu (varsayılan değer 16 pikseldir). |
lh | Öğenin satır yüksekliği. |
rlh | Kök öğenin satır yüksekliği. |
Görüntü alanına göre birimler
Göreli bir temel olarak görüntü alanının (tarayıcı penceresinin) boyutlarını kullanabilirsiniz. Bu birimler, mevcut görüntü alanı alanını doldurur.
birim | ile |
---|---|
vw | Görüntü alanının genişliğinin %1'i. İnsanlar bu birimi, havalı yazı tipleri yapmak için kullanıyorlar, Örneğin, kullanıcı yeniden boyutlandırırken başlık yazı tipini sayfanın genişliğine göre yeniden boyutlandırabilir yazı tipi de yeniden boyutlandırılacaktır. |
vh | Görüntü alanının yüksekliğinin% 1'i. Bunu, kullanıcı arayüzündeki öğeleri düzenlemek için kullanabilirsiniz. kullanabilirsiniz. |
vi | Kök öğenin satır içi eksenindeki görüntü alanının boyutunun% 1'i. Eksen, yazma modlarını ifade eder. İngilizce gibi yatay yazım modlarında satır içi eksen yataydır. Bazı Japon yazı tiplerinde olduğu gibi dikey yazma modlarında, satır içi eksen yukarıdan aşağıya doğru uzanır. |
vb | Kök öğenin blok eksenindeki görüntü alanının %1'i. Blok ekseni için bu, dilin yönüdür. İngilizce gibi soldan sağa yazılan diller, sayfayı yukarıdan aşağıya doğru ayrıştırdığı için dikey bir blok eksenine sahiptir. Dikey yazma modunda ise yatay blok ekseni bulunur. |
vmin | Görüntü alanının daha küçük boyutunun% 1'i. |
vmax | Görüntü alanının daha büyük boyutunun %1'i. |
div {
width: 10vw;
}
p {
max-width: 60ch;
}
Bu örnekte, 1vw
görüntü alanı genişliğinin %1'i olduğu için div
, görüntü alanı genişliğinin %10'u olur.
p
öğesinin max-width
değeri 60ch
. Bu, hesaplanmış yazı tipi ve boyutta 60 "0" karakter genişliğini aşamaz.
Çeşitli birimler
Belirli değer türleriyle ilgilenmek için belirtilen başka birimler de vardır.
Açı birimleri
Renk modülünde,
açı birimlerine baktık
tanımlamaya yardımcı olur.
örneğin hsl
tonu gibi.
Bunlar, dönüştürme işlevleri içindeki öğelerin döndürülmesi için de yararlıdır.
div {
width: 150px;
height: 150px;
transform: rotate(60deg);
}
deg
açı birimini kullanarak div
eksenini orta ekseninde 90° döndürebilirsiniz.
div {
background-image: url('a-low-resolution-image.jpg');
}
@media (-webkit-min-device-pixel-ratio: 2), (min-resolution: 192dpi) {
div {
background-image: url('a-high-resolution-image.jpg');
}
}
Çözünürlük birimleri
Önceki örnekte min-resolution
değerinin değeri 192dpi
'tır.
dpi
birimi, inç başına nokta sayısı anlamına gelir.
Bunun için yararlı bir bağlam, medya sorgusunda Retina ekranlar gibi çok yüksek çözünürlüklü ekranları algılayıp daha yüksek çözünürlüklü bir resim sunmaktır.
Öğrendiklerinizi test etme
Beden bilgisi hakkındaki bilginizi test edin
Aşağıdakilerden hangisi geçerli boyutlardır?
Mutlak ve göreli birimler arasındaki fark nedir?
Görüntü alanı birimleri mutlaktır.