جاري التحميل...

الوحدات في CSS

أنت تعرف بالفعل كيف تكتب تصريحًا مثل color: teal. خصائص الحجم تحتاج فكرة ثانية: كم يبلغ الحجم. font-size: 16 وحده غير صالح لمعظم خصائص الطول — يحتاج المتصفح إلى وحدة ليفهم ماذا تعني «16».

ما هي وحدات CSS؟

وحدات CSS هي نهايات القياس الملحقة بقيم الطول — مثل px و rem و % و vw و vh. الوحدات المطلقة تبقى بنفس الحجم بغض النظر عن الأب. الوحدات النسبية تتناسب مع شيء آخر: خط العنصر أو خط الجذر أو حجم الأب أو إطار العرض (viewport).

المطلق مقابل النسبي في لمحة

استخدم هذا الجدول كخريطة. لست بحاجة لكل وحدة في اليوم الأول — تعرّف على العائلات ثم درّب الوحدات اليومية.

📊 وحدات طول CSS الشائعة

الوحدة العائلة الاستخدام المعتاد
px مطلقة (بكسل الشاشة) الحدود، ضبط الأيقونات، خطوط 1px
rem نسبية لخط الجذر نص الصفحة والمسافات المتسقة
em نسبية لخط العنصر نفسه حشو ينمو مع النص المحلي
% نسبية لحجم الأب عروض مرنة داخل الحاوية
vw نسبية لعرض إطار العرض أقسام بعرض كامل (بحذر)
vh نسبية لارتفاع إطار العرض ارتفاع البطل، لوحات ملء الشاشة

البكسل (px)

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

أحجام بكسل لحدود البطاقة

css
CSS Code
.card {
border: 1px solid #cbd5e1;
border-radius: 8px;
width: 320px;
}

متى يتألق px بعد

فضّل px للحدود الرفيعة وإزاحات الظل وعناصر واجهة صغيرة تريد حافة بصرية ثابتة. فضّل الوحدات النسبية عندما يجب أن يتنفس التصميم مع حجم الخط أو عرض الحاوية.

rem و em

rem نسبية لحجم خط عنصر الجذر (عادةً <html>). em نسبية لحجم خط العنصر الحالي (أو الأب حسب الخاصية). للمبتدئين، rem افتراض أكثر أمانًا لـ font-size وكثير من المسافات لأنها تبقى متسقة عبر العناصر المتداخلة.

طباعة نسبية للجذر مع rem

css
CSS Code
html {
font-size: 100%; /* often 16px in browsers */
}

.lead {
font-size: 1.25rem; /* ~20px if root is 16px */
margin-bottom: 0.75rem;
}

em في جملة واحدة

استخدم em عندما تريد أن تتناسب القيمة مع الخط المحلي — مثل حشو ينمو إذا كبر نص ذلك المكوّن. إذا تضاعفت قيم em المتداخلة وبدا الحجم «هاربًا»، حوّل تلك الأحجام إلى rem.

النسب المئوية (%)

النسبة المئوية نسبية لقياس الأب. مع width: 50% يستهدف العنصر نصف عرض الأب (عندما يكون للأب عرض معرّف). النسب أداة كلاسيكية للتخطيطات المرنة داخل الحاوية.

عرض مرن بالنسبة المئوية

css
CSS Code
.sidebar {
width: 30%;
}

.main {
width: 70%;
}

وحدات إطار العرض (vw و vh)

1vw تساوي 1٪ من عرض إطار العرض؛ و1vh تساوي 1٪ من ارتفاعه. قوية لأقسام البطل بملء الشاشة، وسهلة الإفراط — النص المقاس بـ vw وحده قد يصبح غير مقروء على شاشات واسعة جدًا أو ضيقة جدًا.

ارتفاع إطار العرض لقسم البطل

css
CSS Code
.hero {
min-height: 80vh;
padding: 2rem;
}

عادة اختيار افتراضية

عادة عملية للبداية: rem لأحجام الخط ومعظم المسافات العمودية، و% أو أدوات تخطيط مرنة (لاحقًا: Flexbox/Grid) للعروض، وpx للحدود والتفاصيل الثابتة الدقيقة. راجع وحدات إطار العرض عند بناء أقسام بعرض كامل — لا لكل هامش.

جرّبها بنفسك

  1. أنشئ قاعدة .card مع width: 80% و max-width: 24rem و border: 1px solid #94a3b8.
  2. عيّن .card h2 { font-size: 1.5rem; } وفقرة قصيرة عند 1rem.
  3. أضف قسمًا .banner { min-height: 40vh; } فوق البطاقة.
  4. غيّر حجم نافذة المتصفح وعدّل html { font-size: … } لتشعر كيف تستجيب % و vh و rem بشكل مختلف.
  5. اختياري: حوّل العنوان إلى 1.5em داخل .card ولاحظ إن فاجأك التحجيم المتداخل.

أخطاء شائعة

  • كتابة font-size: 16 بلا وحدة — غير صالح للطول في CSS القياسي
  • استخدام px فقط لكل الخطوط في موقع يجب أن يحترم تكبير/تفضيلات المستخدم
  • تداخل كثير من أحجام em حتى يصبح النص ضخمًا أو ضئيلًا
  • ضبط نص الجسم بـ vw وحده فتنفجر الأسطر على الشاشات الكبيرة
  • افتراض أن ارتفاع % يعمل بينما الأب بلا ارتفاع صريح

ملخص

  • قيم الطول تحتاج عادةً وحدة (px و rem و % و vw …)
  • المطلقة ثابتة؛ النسبية تتناسب مع الخط أو الأب أو إطار العرض
  • فضّل rem للطباعة و%/أنظمة التخطيط للعروض وpx للحدود الدقيقة
  • em يتناسب مع الخط المحلي؛ وvw/vh مع إطار العرض
  • طابق الوحدة مع المهمة — لا تفرض وحدة واحدة في كل مكان

🧠 اختبر معرفتك

جاهز للبدء

اختبر معرفتك

تحدى نفسك مع هذا الاختبار التفاعلي واكتشف مدى فهمك للموضوع

❓
7
الأسئلة
🎯
70%
للنجاح
♾️
∞
الوقت
🔄
∞
المحاولات

📝 التعليمات

  • اقرأ كل سؤال بعناية
  • اختر أفضل إجابة لكل سؤال
  • يمكنك إعادة الاختبار عدة مرات كما تريد
  • سيتم عرض تقدمك في الأعلى