0Pricing
CSS Academy · درس

container-type وcontainer-name

عرّف حاويات الاستعلام باستخدام container-type، وامنحها أسماء باستخدام container-name.

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

ما استعلامات الحاويات؟

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

المشكلة التي تحلّها استعلامات الحاويات

باستخدام استعلامات الوسائط، لا يستطيع مكوّن بطاقة في شريط جانبي بعرض 300px معرفة أنه صغير؛ فهو يعرف فقط أن إطار العرض عريض. أما استعلامات الحاويات فتتيح للمكوّن الاستجابة لحجم حاويته الخاصة، لا لحجم إطار العرض العام.

container-type

للاستعلام عن حاوية، عرّفوها أولًا باعتبارها حاوية استعلام باستخدام container-type:

<div class="card-wrapper">This wrapper can now be queried for its own width via @container.</div>

قيم container-type

القيم المتاحة:

  • inline-size — يتيح الاستعلام عن البعد المضمّن للحاوية، أي العرض في اتجاه الكتابة الأفقي
  • size — يتيح الاستعلام عن البعدين المضمّن والكتلي، أي العرض والارتفاع
  • normal — القيمة الافتراضية؛ لا تتيح استعلامات الحجم، لكن تظل استعلامات الأنماط ممكنة

container-name

امنحوا الحاوية اسمًا للإشارة إليها في الاستعلامات. ويكون ذلك ضروريًا عند وجود حاويات متداخلة ورغبتكم في الاستعلام عن سلف محدد:

<div class="sidebar">Named container: "sidebar"</div>

الاختصار container

يعيّن الاختصار container الاسم والنوع معًا:

<div class="card-grid">Container named "card-grid", type inline-size.</div>

لماذا نستخدم حاويات غير مسمّاة؟

يمكن الاستعلام عن حاوية غير مسمّاة أيضًا؛ إذ تستهدف قاعدة @container أقرب سلف من الحاويات افتراضيًا. ولا تكون الأسماء ضرورية إلا عندما تريدون الانتقال إلى سلف محدد.

اعتبارات الأداء

يحصل كل عنصر من نوع container-type على احتواء تخطيط خاص به. وهذا يعني أن تغيّرات الحجم داخل الحاوية لا تؤثر في الأسلاف، مما يحقق فائدة للأداء. فلا يحتاج المتصفح إلى إعادة حساب الصفحة بأكملها عند تغيّر الحاوية.

علاقة خاصية contain

يعيّن container-type: inline-size ضمنيًا contain: inline-size layout style على العنصر. ويمنع ذلك حجم الحاوية من التأثير في تخطيطها الخاص، وهو أمر مطلوب حتى تعمل استعلامات الحجم.

إعداد مثال عملي

إعداد كامل لاستعلام الحاوية:

<div class="article-grid">
  <div class="card">Card 1</div>
  <div class="card">Card 2</div>
  <div class="card">Card 3</div>
</div>

استعلامات الحاويات مقابل استعلامات الوسائط

استخدموا الحاويات من أجل: التكيّف على مستوى المكوّن، والمكوّنات القابلة لإعادة الاستخدام في سياقات تخطيط مختلفة، والبطاقات أو الأدوات في مواضع غير معروفة. واستخدموا استعلامات الوسائط من أجل: تغييرات التخطيط العام، وتغيير حجم الخطوط، وإظهار الأقسام الكبيرة أو إخفائها.

تحقّق سريع

ما قيمة الخاصية التي تجعل العنصر قابلًا للاستعلام عن عرضه باستخدام قواعد @container؟

مراجعة

يعرّف container-type: inline-size العنصر باعتباره حاوية استعلام لعرضه. استخدموا container-name لتسمية الحاويات بهدف استهدافها بشكل انتقائي. ويعيّن الاختصار container كلاً من الاسم والنوع. وتحلّ استعلامات الحاويات مشكلة المكوّن الموضوع في سياق غير معروف، وهي المشكلة التي لا تستطيع استعلامات وسائط إطار العرض التعامل معها.

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

هل درس «container-type وcontainer-name» مجاني؟

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

ماذا ستتعلم في «container-type وcontainer-name»؟

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

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

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

كم من الوقت يستغرق درس «container-type وcontainer-name»؟

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

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

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

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

  1. container-type وcontainer-name
  2. قواعد @container ونقاط التوقف
  3. وحدات استعلام الحاوية: cqw وcqh
  4. استعلامات الحاويات مقابل استعلامات الوسائط
← العودة إلى CSS Academy