شرح صفوف ومحتوى الفقرة
تمنح وحدتا rem و em مرونة رائعة للنصوص، لكن فهم الفرق بينهما يحميك من مفاجآت تضخم الخط داخل العناصر المتداخلة:
- وحدة الجذر
rem: ترتبط دائماً بحجم خط عنصر الجذر الأساسي للصفحة<html>(وهو افتراضياً16pxفي المتصفحات). لذا فإن1remتعادل16pxو1.5remتعادل24pxبثبات تام مهما تداخلت الحاويات، كما أنها تحترم تلقائياً تكبير الخط المفضل في إعدادات متصفح الزائر! - وحدة العنصر
em: عند استخدامها فيfont-sizeفإنها تضرب حجم خط الأب المباشر. فإذا وضعت حاوية بحجم1.5emداخل حاوية أخرى بحجم1.5em، يتضاعف الرقم تراكمياً من16pxإلى24pxثم يقفز في الابن الداخلي إلى36px!
HTML
<style>
html { font-size: 16px; }
.rem-box { font-size: 1.5rem; color: navy; }
.em-box { font-size: 1.5em; color: crimson; }
</style>
<div class="rem-box">Outer 1.5rem (24px)
<div class="rem-box">Inner 1.5rem stays 24px!</div>
</div>
<div class="em-box">Outer 1.5em (24px)
<div class="em-box">Inner 1.5em jumps to 36px!</div>
</div>