CSS’de REM Birimi Nedir?
eminbasbayan

İçindekiler
Bu yazıda neler var?
CSS’de boyutları belirlemek için kullanılan en önemli göreceli (relative) birimlerden biri de REM (root em) birimidir. REM, EM birimine benzese de, bazı önemli farklara sahiptir. EM birimi ebeveyn öğeye bağlı olarak hesaplanırken, REM birimi her zaman kök (root) öğenin font boyutuna göre hesaplanır.
Bu yazıda, REM biriminin nasıl çalıştığını, EM ile farklarını, avantajlarını ve dezavantajlarını detaylı bir şekilde inceleyeceğiz. Eğer CSS ile responsive (duyarlı) tasarımlar yapıyorsanız, REM kullanımı size büyük kolaylık sağlayacaktır.
TEXT?1. REM Nedir?
REM, "Root EM" anlamına gelir ve her zaman root (html) öğesinin font boyutuna göre hesaplanır.
- 1rem =
htmlöğesininfont-sizedeğeri - Tüm öğeler için sabittir, ebeveyn öğeden bağımsızdır.
Örneğin:
html {
font-size: 20px;
}
h1 {
font-size: 2rem; /* 2 * 20px = 40px */
}
p {
font-size: 1rem; /* 1 * 20px = 20px */
}
Bu kodda:
htmliçinfont-size: 20pxolarak belirlendi.h1,2remyani 40px olacak.p,1remyani 20px olacak.
Bu sistem, tüm sayfadaki öğelerin tutarlı bir şekilde ölçeklenmesini sağlar.
2. REM’in EM ile Farkı
EM ve REM arasındaki en büyük fark, hangi öğeye göre hesaplandıklarıdır.
- EM → Ebeveyn (parent) öğenin font boyutuna göre hesaplanır.
- REM → Root (html) öğesinin font boyutuna göre hesaplanır.
Örnek: EM ile REM Karşılaştırması
html {
font-size: 16px;
}
article {
font-size: 20px;
}
h2 {
font-size: 2em; /* 2 * 20px = 40px */
}
h3 {
font-size: 2rem; /* 2 * 16px = 32px */
}
h2 { font-size: 2em }→ Ebeveyn (article) 20px olduğu için 2 * 20px = 40pxh3 { font-size: 2rem }→ Her zaman root öğenin (html) font boyutuna göre hesaplanır. 2 * 16px = 32px
EM Kullanımında Karşılaşılabilecek Sorun
EM kullanıldığında, iç içe geçmiş öğelerde boyutlar katlanarak büyüyebilir veya küçülebilir.
ul {
font-size: 1.5em;
}
Eğer bir liste iç içe geçmişse:
- İlk
ulöğesi →1.5emolacak (ebeveynine göre büyüyecek). - İkinci iç içe
ulöğesi →1.5 * 1.5 = 2.25emolacak. - Üçüncü iç içe
ulöğesi →2.25 * 1.5 = 3.375emolacak.
Bu şekilde font boyutları kontrolsüz bir şekilde büyüyebilir.
Bu sorunu çözmek için REM kullanarak tüm liste öğelerinin kök font boyutuna göre ölçeklenmesini sağlayabilirsiniz.
3. REM Kullanımı: Hangi Durumlarda Kullanılmalı?
REM kullanmanın en büyük avantajı, sayfanın genel ölçeklenmesini tek bir noktadan yönetebilmenizdir.
Örneğin, kök öğenin (html) font boyutunu değiştirdiğinizde, tüm sayfanın ölçeği değişir.
html {
font-size: 10px; /* Sayfanın genel boyutunu küçültür */
}
Bu değişiklik yapıldığında:
h1 { font-size: 3rem }→ 3 * 10px = 30px olacak.p { font-size: 1rem }→ 1 * 10px = 10px olacak.
Bu yöntem sayesinde sayfa genelindeki öğeleri tek bir ayar ile yönetebilirsiniz.
4. REM ile Buton ve Bileşen Tasarımı
REM ile buton veya kart gibi bileşenlerin boyutlarını kolayca ölçeklendirebilirsiniz.
button {
font-size: 1.5rem; /* Genel font boyutuna bağlı */
padding: 0.5rem 1rem; /* Font boyutuna göre ayarlanır */
border-radius: 0.5rem;
background-color: blue;
color: white;
}
Avantajı:
- Sayfa genelindeki font büyüdüğünde, buton da otomatik olarak orantılı büyüyecektir.
- Responsive tasarımlar için uygundur.
5. REM’in Avantajları ve Dezavantajları
Avantajları:
- Tutarlı ve ölçeklenebilir bir tasarım sağlar.
- Tek bir noktadan (html) tüm site ölçeğini değiştirebilirsiniz.
- Responsive tasarımlar için uygundur.
- İç içe geçmiş öğelerde aşırı büyüme veya küçülme sorunu yaşanmaz.
Dezavantajları:
- EM gibi, bileşen bazlı ölçeklendirme için ideal değildir.
- Bazı özel durumlarda (örneğin buton içindeki padding gibi), EM daha esnek olabilir.
6. REM ile EM’i Birlikte Kullanma
Bazı durumlarda REM ve EM’i birlikte kullanmak en iyi sonucu verir.
- REM → Genel font boyutlarını yönetmek için.
- EM → Bileşen içinde öğeleri ölçeklendirmek için.
Örnek: REM ile Font, EM ile Padding Kullanımı
button {
font-size: 1.5rem; /* Genel font ölçeği */
padding: 0.5em 1em; /* Buton içindeki padding, font boyutuna bağlı */
border-radius: 0.5em;
}
- Font boyutu REM ile belirlendiği için sayfa genelinde tutarlıdır.
- Padding ve border-radius EM ile belirlendiği için öğe içinde orantılıdır.
7. REM Kullanımı ile Daha İyi CSS Tasarımları
CSS’de REM birimi, tutarlı ve ölçeklenebilir tasarımlar oluşturmak için en iyi çözümlerden biridir.
Öğrendiğimiz konular:
- REM, root (html) öğesinin font boyutuna göre hesaplanır.
- EM ile farkı, ebeveyn yerine root öğeye bağlı olmasıdır.
- Font ölçeklendirmesini tek noktadan yönetmek için idealdir.
- Responsive ve duyarlı tasarımlar için uygundur.
REM kullanarak, sayfanızın ölçeklenebilirliğini artırabilir ve modern, esnek tasarımlar oluşturabilirsiniz.






