Menu
flag Ar iconالعربيةdown icon

حجم الخط font-size في CSS: px وrem وem والكلمات المفتاحية

تضبط الخاصية font-size حجم النص. تعلّم الوحدات التي تقبلها (px وrem وem و% والكلمات المفتاحية وvw)، وكيف تغيّر حجم الخط في HTML، ولماذا rem هي الخيار الآمن الافتراضي، وكيف تتضاعف أحجام em.

تحتوي هذه الصفحة على محررات قابلة للتشغيل - حرّر، شغّل، وشاهد النتيجة فوراً.

كيف تضبط حجم الخط في CSS

تضبط الخاصية font-size حجم النص. ضعها على أي عنصر وسيرث كل نص بداخله ذلك الحجم، ما لم يضبط ابن حجمه الخاص.

لتغيير حجم الخط في HTML تستخدم CSS أيضًا. أضف السمة style (<p style="font-size: 20px;">) أو قاعدة في ملف الأنماط. الوسم <font size="5"> من التسعينيات ملغى ولا مكان له في صفحة حديثة.

الوحدات التي تقبلها font-size

القيمةمثالنسبةً إلى ماذا
px16pxلا شيء: حجم ثابت
rem1.25remحجم خط العنصر الجذر <html> (16px افتراضيًا)
em1.2emحجم خط العنصر الأب
%120%حجم خط الأب، مثل em (120% تساوي 1.2em)
كلمة مفتاحيةlargeمقياس محدد مسبقًا حول القيمة الافتراضية medium
كلمة مفتاحية نسبيةsmaller، largerخطوة واحدة عن حجم الأب
نافذة العرض4vwعرض نافذة العرض (4% منه)
دالةclamp(1rem, 4vw, 2rem)مرن بين حد أدنى وحد أقصى

اكتب قيمة وشاهد الحجم الذي يحسبه المتصفح:

جرّب 20px و2em و150% وx-large وsmaller و5vw. القيمة غير الصالحة، مثل big، تُتجاهل ويحتفظ النص بآخر حجم صالح.

الفرق بين rem وem: الفرق الذي يفاجئك

تنظر rem دائمًا إلى العنصر الجذر، لذلك 1.2rem بالحجم نفسه أينما ظهرت. أما em فتنظر إلى الأب، فتتضاعف الأحجام حين تتداخل العناصر:

صندوق em الأعمق يساوي 16 × 1.2 × 1.2 × 1.2 = 27.648px. وصندوق rem الأعمق ما زال 19.2px. هذا التضاعف مفيد لمكوّن يجب أن تتغير أجزاؤه معًا، ومفاجئ في كل مكان آخر. تقارن صفحة الوحدات كل وحدات الطول.

الكلمات المفتاحية: من xx-small إلى xx-large

تقابل الكلمات المفتاحية المطلقة مقياسًا ثابتًا حول medium، التي تساوي الحجم الافتراضي للمستخدم (16px ما لم يغيّره):

مع الحجم الافتراضي 16px تكون small بحجم 13px، وlarge بحجم 18px، وx-large بحجم 24px، وxx-large بحجم 32px. الكلمات المفتاحية مناسبة للعمل السريع، لكن نظام التصميم يريد عادةً مقياسه الخاص بـ rem.

حجم خط مرن مع clamp()

العنوان الذي يجب أن يكبر مع الشاشة لكن لا يصبح صغيرًا جدًا أو كبيرًا جدًا هو استدعاء واحد لـ clamp(): الحد الأدنى، ثم حجم مفضل يتغير، ثم الحد الأقصى.

في معاينة بعرض 800px تساوي 5vw قيمة 40px، وهي بين 24px و48px، فتفوز. تشرح صفحة clamp الخطوط المرنة بعمق.

ضبط حجم أساسي للصفحة كلها

اضبط الحجم مرة واحدة على body (أو html) واجعل كل شيء آخر نسبيًا إليه:

html { font-size: 100%; }  /* respects the user's setting, usually 16px */
body { font-size: 1rem; }
h1   { font-size: 2.25rem; }
small, .caption { font-size: 0.875rem; }

تجنب حيل html { font-size: 62.5%; } إلا إذا كان كل حجم في الصفحة مضبوطًا بعدها بـ rem، ولا تضبط أبدًا حجمًا ثابتًا بـ px على html: فهو يتجاوز حجم الخط الذي اختاره القارئ في متصفحه، وبعض الناس يعتمدون عليه كي يستطيعوا القراءة أصلًا.

ملاحظات حول سهولة الوصول

  • نص الجسم بحجم 16px أو أكثر حد أدنى جيد للقراءة على الشاشات.
  • الأحجام بـ rem وem تتبع إعداد الخط الافتراضي للمستخدم. أما الأحجام بـ px فتتبع تكبير الصفحة لكن لا تتبع ذلك الإعداد.
  • على iPhone يكبّر Safari الصفحة حين تركّز على حقل إدخال حجم خطه أقل من 16px. أعطِ حقول النماذج font-size: 1rem أو أكثر لتجنب ذلك.

أخطاء شائعة

  • استخدام الوسم <font>. إنه ملغى. استخدم الخاصية font-size.
  • أحجام em متداخلة تكبر أو تصغر بلا سيطرة. استخدم rem ما لم تكن تريد التضاعف.
  • حجم ثابت بـ px على html. يتجاوز إعداد الخط الخاص بالقارئ.
  • نسيان أن للعناوين حجمًا أصلًا. <h1> حجمه 2em افتراضيًا، لذلك تحتاج إلى h1 { font-size: 1em; } إن أردته بحجم نص الجسم.
  • وحدات نافذة العرض وحدها. font-size: 3vw تصبح غير مقروءة على الهاتف وضخمة على شاشة عريضة. أحطها بـ clamp().

الأسئلة الشائعة

كيف أغيّر حجم الخط في CSS؟

اضبط الخاصية font-size على العنصر: p { font-size: 18px; }. تقبل الأطوال (px وrem وem) والنسب المئوية والكلمات المفتاحية مثل large.

كيف أغيّر حجم الخط في HTML؟

عبر CSS، إما في ملف أنماط أو في السمة style: <p style="font-size: 20px;">. الوسم القديم <font size="5"> ملغى في HTML5 ويجب ألا يُستخدم.

ما حجم الخط الافتراضي في المتصفحات؟

16px لنص الجسم، ما لم يغيّره المستخدم في إعدادات المتصفح. هذه القيمة هي ما تساويه 1rem والكلمة المفتاحية medium افتراضيًا.

هل أستخدم px أم em أم rem لحجم الخط؟

استخدم rem لمعظم النصوص: تتغير مع إعداد خط المتصفح لدى المستخدم ولا تتضاعف. واستخدم em حين يجب أن يتبع الحجم أباه، مثل أيقونة داخل زر. أما px فلا تتبع حجم الخط الافتراضي الذي يضبطه القارئ في متصفحه، فتجنبها لنص الجسم.

لماذا يستمر حجم الخط بـ em في الكبر؟

لأن em نسبية إلى حجم خط الأب، فتتضاعف العناصر المتداخلة: 1.2em داخل 1.2em تساوي 1.44 ضعف الأساس. انتقل إلى rem، فهي نسبية دائمًا إلى العنصر الجذر.

Coddy programming languages illustration

تعلّم البرمجة مع Coddy

ابدأ الآن