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

External CSS وInternal CSS: شرح link وstyle

تعيش External CSS في ملف .css تربطه كل صفحة عبر <link rel="stylesheet">، أما Internal CSS فتوجد في عنصر <style> داخل صفحة واحدة. تعلّم الاثنين، وكيف تعمل مسارات الملفات، وأي قاعدة تفوز حين تلتقيان.

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

External CSS في سطر واحد

External CSS ملف .css منفصل. تربطه من <head> كل صفحة تحتاجه:

<head>
  <link rel="stylesheet" href="styles.css">
</head>

يحتوي الملف نفسه على قواعد CSS عادية، من دون أي وسوم HTML حولها:

/* styles.css */
body {
  font-family: system-ui, sans-serif;
  color: #111827;
}

.card {
  border: 2px solid #2563eb;
  border-radius: 8px;
  padding: 12px 16px;
}

المعاينة أدناه لا تملك ملفًا ثانيًا لتحميله، لذلك تضع CSS نفسها في عنصر <style>. هذه هي Internal CSS، وتُعرض تمامًا كما سيُعرض الملف المربوط:

Internal CSS: العنصر style

Internal CSS (وتسمى أيضًا embedded CSS) هي عنصر <style> داخل الصفحة. ضعه في <head> كي تكون الأنماط معروفة قبل عرض الجسم. ينطبق على الصفحة كلها، وقواعده تستخدم المحددات، وهو ما لا تستطيعه سمات style المضمّنة.

مرّر المؤشر فوق وسم: يعمل :hover هنا لأنه قاعدة حقيقية. الطريقة الثالثة، السمة style، مشروحة في صفحة Inline CSS.

الفرق بين Internal CSS وExternal CSS

الخارجية (<link>)الداخلية (<style>)
المكانملف .cssداخل صفحة HTML
النطاقكل صفحة تربطهصفحة واحدة
التخزين المؤقتيُنزَّل مرة ويُعاد استخدامه بين الصفحاتيُرسل من جديد مع كل صفحة
تعديل مظهر الموقعتغيير ملف واحدتغيير كل صفحة
طلب إضافينعم، طلب لكل ملفلا
مناسبة لـالمواقع الحقيقيةالعروض، الصفحات المفردة، بريد HTML، CSS الحرجة

الخصوصية واحدة في الحالتين: قاعدة في عنصر <style> والقاعدة نفسها في ملف مربوط لهما الوزن نفسه تمامًا. عند التعادل تفوز القاعدة التي تأتي لاحقًا في المستند.

الترتيب: ملف الأنماط اللاحق يفوز

تُقرأ ملفات الأنماط بترتيب المستند، سواء <link> أو <style>. بين قاعدتين بالخصوصية نفسها تفوز اللاحقة. كتلتا <style> أدناه تمثلان ملفًا مربوطًا يتبعه تجاوز على مستوى الصفحة:

يحتفظ الزر بالحشو والنص الأبيض من القاعدة الأولى ويأخذ الخلفية فقط من الثانية. لهذا يوضع ملف أنماط الموقع بعد ملف إطار العمل: اربط المكتبة أولًا عبر <link>، ثم ملفك.

مسارات الملفات في href

قيمة href في <link> عنوان URL يُحسب نسبةً إلى موقع ملف HTML.

hrefما يحمّله
styles.cssملف في مجلد الصفحة نفسه
css/styles.cssمجلد css بجانب الصفحة
../styles.cssمجلد واحد إلى الأعلى
/styles.cssمن جذر الموقع
https://example.com/a.cssعنوان URL كامل على خادم آخر

في موقع صفحاته على أعماق مختلفة، يبقي الشكل النسبي إلى الجذر (/css/styles.css) مسارًا واحدًا يعمل في كل صفحة.

ملفات أنماط للطباعة ووسائط أخرى

تقصر السمة media ملف الأنماط على الشروط المطابقة. يقبلها كل من <link> و<style>:

<link rel="stylesheet" href="print.css" media="print">
<link rel="stylesheet" href="wide.css" media="(min-width: 900px)">

المعاينة شاشة، لذلك يظهر الشريط. في صفحة حقيقية يختفي الشريط من النسخة المطبوعة، ويمكنك رؤية ذلك في DevTools بمحاكاة نوع الوسائط print (لوحة Rendering).

أخطاء شائعة

  • مسار خاطئ. خطأ مطبعي في href لا يحمّل شيئًا، فتُعرض الصفحة بلا تنسيق. افتح DevTools، ثم تبويب Network، وابحث عن خطأ 404 لملف .css.
  • نسيان rel="stylesheet". من دونها لا يحمّل <link href="styles.css"> ملف أنماط.
  • HTML داخل ملف .css. ملف .css يحتوي على قواعد فقط. وسوم <style> داخله ليست CSS صالحة وتفسد القاعدة المجاورة لها.
  • وضع ملف أنماطك قبل ملف إطار العمل. عند تساوي الخصوصية يفوز الملف اللاحق، لذلك اربط CSS الخاصة بك أخيرًا.
  • رؤية نسخة قديمة. المتصفحات تخزّن ملفات الأنماط مؤقتًا. نفّذ تحديثًا قسريًا، أو أضف رقم إصدار إلى العنوان (styles.css?v=2) عند نشر تغيير.

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

ما هي External CSS؟

External CSS ملف أنماط محفوظ في ملف .css مستقل ويُحمَّل عبر <link rel="stylesheet" href="styles.css"> داخل <head> الصفحة. كل صفحة تربط الملف تحصل على الأنماط نفسها، والمتصفح يخزّن الملف مؤقتًا بين الصفحات.

ما هي Internal CSS؟

Internal CSS، وتسمى أيضًا embedded CSS، هي CSS مكتوبة داخل عنصر <style> في مستند HTML نفسه، عادةً داخل <head>. تنطبق على تلك الصفحة فقط.

كيف أربط ملف CSS بـ HTML؟

أضف <link rel="stylesheet" href="styles.css"> داخل <head>. قيمة href مسار نسبي إلى ملف HTML، فـ css/styles.css يشير إلى مجلد css بجانبه، و/styles.css يبدأ من جذر الموقع.

أيهما أفضل، Internal CSS أم External CSS؟

External CSS لأي موقع فيه أكثر من صفحة: ملف واحد للتعديل، والمتصفحات تنزّله مرة واحدة وتعيد استخدامه. أما Internal CSS فتناسب صفحة واحدة أو عرضًا تجريبيًا أو كتلة صغيرة من الأنماط الحرجة تريدها في أول استجابة.

لماذا لا يعمل ملف CSS الخارجي عندي؟

الأسباب المعتادة: مسار href خاطئ (ابحث عن خطأ 404 في تبويب Network)، أو غياب rel="stylesheet"، أو وسوم <style> مكتوبة داخل ملف .css، أو قاعدة لاحقة تتجاوز قاعدتك. التحديث القسري يستبعد نسخة قديمة مخزنة.

Coddy programming languages illustration

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

ابدأ الآن