0Pricing
CSS Academy · درس

الطبقات في تعليمات برمجية من جهات خارجية

ضع مكتبات CSS التابعة لجهات خارجية داخل طبقات للتحكم بأمان في أولوية التتالي الخاصة بها.

الطبقات في تعليمات برمجية من جهات خارجية درس مجاني في CSS Academy على CoddyKit. هذا هو الدرس 4 من أصل 4. يمكنك قراءة الدرس كاملاً أدناه مجاناً — ثم تمرن عليه مباشرة في المتصفح باستخدام محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7. هذا الدرس جزء من مسار التعلم في CSS Academy، وتقدمك يتزامن عبر الويب وتطبيق CoddyKit. تتضمن دورة CSS Academy 4 دروس في المجموع.

مشكلة CSS التابعة لجهات خارجية

غالبًا ما تستخدم أطر CSS التابعة لجهات خارجية (Bootstrap وTailwind وBulma) محددات عالية الخصوصية أو !important، مما يتعارض مع أنماطكم الخاصة. ويحل وضعها ضمن طبقات هذه المشكلة دون تعديل مصدر الإطار.

تعيين CSS التابعة لجهة خارجية إلى طبقة منخفضة الأولوية

عيّنوا CSS المستوردة من جهة خارجية إلى طبقة مبكرة (منخفضة الأولوية):

<p>Assigns an external CDN stylesheet to the lowest-priority "vendor" layer — see the CSS panel.</p>
<p style="color:#888;font-size:0.85em;">Note: the CDN import is a live network fetch and may not resolve inside this sandboxed preview; that does not affect the @layer syntax being taught.</p>

سبب فائدة ذلك

على الرغم من أن Bootstrap يستخدم محددات عالية الخصوصية و!important، فإن وضعه في طبقة vendor (المعلنة أولًا) يعني أن أنماطكم في الطبقات اللاحقة ستكون لها الأولوية دائمًا، من دون الحاجة إلى مطابقة خصوصية Bootstrap أو تجاوزها.

@layer المضمّنة لاستيراد CDN

بالنسبة إلى روابط CDN الخارجية، لا يمكنكم استخدام @import layer. بدلًا من ذلك، أنشئوا استراتيجية تعتمد على وسم <link> عبر نسخ محتوى CDN إلى كتلة طبقة محلية، أو باستخدام خطوة بناء لتغليفه:

<div>
  <p><strong>Vendor stylesheet</strong> loaded via a &lt;link&gt; tag (e.g. a Bootstrap CDN URL) — cannot be wrapped in @import layer().</p>
  <p><strong>Site stylesheet</strong> declares <code>@layer vendor, site;</code> so your own "site" layer rules always win over "vendor", regardless of load order.</p>
</div>

تغليف الأنماط المضمّنة التابعة لجهات خارجية

لا يمكن بسهولة وضع ورقة أنماط تحقنها JavaScript (مثل أداة) ضمن طبقة. لكن يمكنكم تجاوز أنماطها في كتلة لاحقة غير موجودة ضمن طبقة في ورقة الأنماط، وستكون لها أولوية أعلى من أي طبقة.

مثال Bootstrap

إعداد كامل لاستخدام Bootstrap دون صراعات الخصوصية:

<button class="btn">Bootstrap-style button, overridden by the site layer (square corners)</button>

Tailwind مع @layer

يستخدم Tailwind CSS نفسه @layer داخليًا (@layer base, components, utilities). يمكنكم إضافة Tailwind إلى طبقة vendor على مستوى المشروع، مع إبقاء المكوّنات والأدوات الخاصة بكم في طبقات ذات أولوية أعلى.

Open Props و@layer

صُممت مكتبات مثل Open Props (مكتبة للخصائص المخصصة في CSS) لاستخدامها مع @layer. وهي توفر استيرادًا للطبقة من أجل دمج نظيف دون تعارضات الخصوصية.

إعادة ضبط CSS في طبقة

ضعوا إعادة ضبط CSS في الطبقة ذات الأولوية الأدنى حتى تؤثر فقط في العناصر التي لم تتعامل معها مكوّناتكم:

<p>Places a CSS reset stylesheet in the lowest-priority layer — see the CSS panel.</p>

تجاوزات المستخدم والطبقات

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

أدوات المطور في المتصفح لتصحيح CSS التابعة لجهات خارجية

عند تصحيح تعارضات CSS التابعة لجهات خارجية، تعرض لوحة Styles في أدوات المطور الطبقة المصدر لكل قاعدة. ابحثوا عن التعليقات التوضيحية "(layer: vendor)" لتحديد الأنماط التابعة لجهات خارجية التي تحتاج إلى تجاوز.

تحقق سريع

لماذا يتيح وضع ورقة أنماط Bootstrap ذات الخصوصية العالية ضمن @layer مبكرة لأنماطكم تجاوزها دون الحاجة إلى مطابقة خصوصية Bootstrap؟

مراجعة

غلّفوا CSS التابعة لجهات خارجية ضمن طبقات مبكرة (منخفضة الأولوية) باستخدام @import layer(). ستتغلب أنماطكم في الطبقات اللاحقة تلقائيًا على أنماط الجهات الخارجية بغض النظر عن الخصوصية. ويحل ذلك تعارضات دمج الأطر دون تعديل كود الجهة المورّدة أو مطابقة الخصوصية العالية أو استخدام !important لتجاوز الأطر.

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

هل درس «الطبقات في تعليمات برمجية من جهات خارجية» مجاني؟

نعم — نص درس «الطبقات في تعليمات برمجية من جهات خارجية» كامل متاح مجاناً هنا على الويب. لتمرينه بشكل تفاعلي (محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7) وفتح باقي دورة CSS Academy، انتقل إلى CoddyKit PRO. تتضمن دورة CSS Academy 4 دروس في المجموع.

ماذا ستتعلم في «الطبقات في تعليمات برمجية من جهات خارجية»؟

ضع مكتبات CSS التابعة لجهات خارجية داخل طبقات للتحكم بأمان في أولوية التتالي الخاصة بها. تتمرن على CSS Academy مع أكواد عملية تشغلها مباشرة في المتصفح، ومدرس ذكاء اصطناعي متاح 24/7 يجيب على أسئلتك أثناء عملك.

هل أحتاج إلى خبرة سابقة لأبدأ CSS Academy؟

لا تُشترط خبرة سابقة. CSS Academy على CoddyKit منظم للمبتدئين حتى المتقدمين، لذا يمكنك البدء من هنا أو من البداية والتقدم بسرعتك الخاصة. هذا هو الدرس 4 من أصل 4.

كم من الوقت يستغرق درس «الطبقات في تعليمات برمجية من جهات خارجية»؟

معظم دروس CoddyKit تستغرق حوالي 5–10 دقائق. كل منها موجز وتفاعلي، لذا تحرز تقدماً مستمراً وتستأنف من حيث توقفت عبر الويب والتطبيق.

هل يمكنني كتابة وتشغيل أكواد في درس CSS Academy هذا؟

نعم. كل درس في CSS Academy يتضمن محرر أكواد مدمج، لذا تكتب وتشغل أكواداً حقيقية مباشرة في متصفحك وتحصل على تعليقات فورية من الذكاء الاصطناعي — بدون إعداد محلي.

جميع الدروس في هذه الدورة

  1. تصريح @layer وترتيبه
  2. إضافة الأنماط إلى الطبقات
  3. أولوية الطبقات وتفاعل !important
  4. الطبقات في تعليمات برمجية من جهات خارجية
← العودة إلى CSS Academy