Menu

CSS line-height: Satır Yüksekliği, Birimsiz Değerler ve Örnekler

line-height her metin satırının yüksekliğini, dolayısıyla satırlar arasındaki boşluğu ayarlar. Birimsiz bir sayının neden doğru varsayılan olduğunu, px, em ve % değerlerinin nasıl farklı miras alındığını ve gövde metni ile başlıklar için iyi değerleri öğren.

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

line-height ne yapar

line-height her metin satırının yüksekliğini ayarlar. Bu yükseklik ile fontun kendisinin ihtiyaç duyduğu yükseklik arasındaki fark ikiye bölünür ve harflerin üstüne ve altına eklenir; satırlar arasındaki boşluğu böyle kontrol edersin.

Üç paragrafın hepsi 16px bir font kullanıyor. Satırlar 16px, 24px ve 32px yüksekliğinde.

Değerler: birimsiz, uzunluk, yüzde, normal

DeğerÖrnek16px metin için satır yüksekliğiÇocuklara nasıl miras geçer
Sayı1.524pxSayının kendisi (1.5), her element için yeniden hesaplanır
Uzunluk24px, 1.5em, 1.5rem24pxHesaplanmış uzunluk (24px)
Yüzde150%24pxHesaplanmış uzunluk (24px)
normalnormalFonttan, çoğunlukla 1,2 civarınormal

İlk ve ikinci satır tek bir elementte aynı görünür. Fark yalnızca bir çocuğun yazı boyutu farklı olduğunda ortaya çıkar; bir sonraki bölüm bunu anlatıyor.

Birimsiz değer neden doğru varsayılandır

1.5em ya da 150% bir satır yüksekliği ebeveynde piksele çevrilir ve çocuklar o pikselleri miras alır. Daha büyük yazılı bir çocuk bu durumda harflerinden kısa satırlar alır. Birimsiz bir 1.5 ise sayının kendisi olarak miras alınır ve her çocuğun kendi yazı boyutuyla çarpılır.

İki başlık da iki satıra kırılıyor. İlki 32px harfler için 21px satırlar miras alıyor, bu yüzden satırları çakışıyor. İkincisi 32 × 1,5 = 48px satırlar alıyor. line-height'ı body üzerinde bir kez sayı olarak ayarla, çoğu sayfanın ona bir daha ihtiyacı olmaz.

Değerleri kendin dene

1, 2, 30px, 200% ve normal dene. Chrome normal'ı piksel değeri olarak değil kelimenin kendisi olarak bildirir, çünkü boyutu fonttan gelir.

Okunaklı metin için iyi değerler

  • Gövde metni: 1,4 ile 1,6. Uzun satırlar, gözün bir sonraki satırın başını bulabilmesi için daha fazla satır yüksekliği ister.
  • Başlıklar: 1,1 ile 1,3. 1,5 aralıklı büyük metin tek bir başlık değil ayrı satırlar gibi görünür.
  • Butonlar ve tek satırlık etiketler: 1 ile 1,25, yükseklik için padding ile birlikte.

Erişilebilirlik için WCAG başarı ölçütü 1.4.12, okuyucu satır yüksekliğini yazı boyutunun 1,5 katına çıkardığında sayfanın hâlâ çalışmasını ister, bu yüzden metni kırpacak sabit yükseklikli metin kutularından kaçın.

Tek satırlık metni dikeyde ortalamak

Bir kutu tam olarak tek satır içeriyorsa kutu yüksekliğine eşit bir line-height, metni dikey ortasına yerleştirir, çünkü fazla boşluk üste ve alta eşit bölünür:

Metin iki satıra kırıldığı anda bozulur, çünkü o zaman her satır 40px yüksekliğinde olur. Kırılabilecek her şey için bunun yerine div ortalama sayfasında gösterildiği gibi flexbox ile ortala.

font kısa yazımı

font kısa yazımı, boyutu ve satır yüksekliğini bir eğik çizgiyle birlikte ayarlar:

body {
  font: 16px/1.5 system-ui, sans-serif; /* size 16px, line-height 1.5 */
}

Kısa yazım, bahsetmediği her font özelliğini sıfırlar (eğik çizgili kısmı yazmazsan line-height'ı da normal'a), bu yüzden onu tekil font-* kurallarından önce yaz.

Sık yapılan hatalar

  • Bir kapsayıcıda em ya da % kullanmak. Çocuklar sabit bir uzunluk miras alır. Birimsiz bir sayı kullan.
  • Bir metin kutusunda sabit height. Metin kırıldığında ya da okuyucu aralığı büyüttüğünde taşar. Yüksekliği içeriğin belirlemesine izin ver.
  • Çok sıkışık gövde metni. line-height: 1 paragrafları zor okunur yapar. 1,5'ten başla.
  • line-height'ın paragraflar arasına boşluk eklemesini beklemek. Bu, paragraflardaki margin'in işidir.
  • normal'a güvenmek. Fonttan fonta değişir, bu yüzden font değiştiğinde düzen kayar.

Sıkça Sorulan Sorular

CSS'te line-height ne işe yarar?

Her metin satır kutusunun yüksekliğini ayarlar. Fontun kendi yüksekliğinin ötesindeki fazla boşluk harflerin üstüne ve altına eşit olarak bölünür, bu yüzden daha büyük bir line-height satırlar arasında daha fazla boşluk demektir.

line-height birimli mi yazılmalı?

Genellikle hayır. 1.5 gibi birimsiz bir değer her elementin kendi yazı boyutuyla çarpılır, bu yüzden boyutu farklı olan çocuklarda da orantılı kalır. Birimli bir değer bir kez hesaplanır ve sabit bir uzunluk olarak miras alınır.

Gövde metni için iyi bir line-height nedir?

Paragraflar için 1,4 ile 1,6 arası, büyük başlıklar için 1,1 ile 1,3 civarı. WCAG'ın AAA yönergesi paragraflarda en az 1,5 ister.

line-height: normal nedir?

Varsayılan değerdir. Tarayıcı fontun kendi ölçülerinden gelen bir değer kullanır; bu genellikle 1,2 civarındadır ama her fontta farklıdır, bu yüzden fontlar arasında öngörülebilir değildir.

HTML'de satır aralığı nasıl değiştirilir?

HTML'de satır aralığı özniteliği yoktur. CSS özelliğini kullan, örneğin çift satır aralığı için <p style="line-height: 2;">.

Coddy programming languages illustration

Coddy ile kodlamayı öğren

BAŞLA