تنسيقات الماكرو

تصف تنسيقات الماكرو التنظيم الأكبر على مستوى الصفحة للواجهة.

إطار شبكي لتخطيط من عمودين، بجوار نفس تخطيط عمود واحد لعرض ضيق.

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

<body>
  <header>…</header>
  <main>
    <article>…</article>
    <aside>…</aside>
  </main>
  <footer>…</footer>
</body>

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

شبكة

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

@media (min-width: 45em) {
  main {
    display: grid;
    grid-template-columns: 2fr 1fr;
  }
}

إطار مرن

بالنسبة إلى هذا التنسيق تحديدًا، يمكنك أيضًا استخدام flexbox. ستبدو الأنماط كما يلي:

@media (min-width: 45em) {
  main {
    display: flex;
    flex-direction: row;
  }

  main article {
    flex: 2;
  }

  main aside {
    flex: 1;
  }
}

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

هل تحتاج إلى إجراء استعلام عن الوسائط؟

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

لنفترض أن لديك صفحة مليئة بمكونات البطاقة. لا يزيد عرض البطاقات عن 15em، ويتعين عليك وضع أكبر عدد ممكن من البطاقات في سطر واحد. يمكنك كتابة استعلامات عن الوسائط باستخدام نقاط توقف 30em و45em و60em. وهكذا، إلا أن هذا ممل ويصعب الحفاظ عليه.

بدلاً من ذلك، يمكنك تطبيق القواعد حتى تشغل البطاقات نفسها القدر المناسب من المساحة تلقائيًا.

.cards {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(15em, 1fr));
  grid-gap: 1em;
}

يمكنك تحقيق تخطيط مشابه باستخدام flexbox. في هذه الحالة، إذا لم يكن هناك بطاقات كافية لملء الصف الأخير، ستمتد البطاقات المتبقية لملء المساحة المتاحة بدلاً من وضعها في الأعمدة. إذا كنت تريد محاذاة الصفوف والأعمدة، فاستخدم الشبكة.

.cards {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  gap: 1em;
}
.cards .card {
  flex-basis: 15em;
  flex-grow: 1;
}

من خلال تطبيق بعض القواعد الذكية في مربع flexbox أو الشبكة، من الممكن تصميم تخطيطات ماكرو ديناميكية باستخدام الحد الأدنى من CSS وبدون أي استعلامات عن الوسائط. وهذا أقل جهدًا بالنسبة إليك - فكل ما عليك فعله هو جعل المتصفح يقوم بإجراء العمليات الحسابية بدلاً من ذلك. للاطلاع على بعض الأمثلة على تخطيطات CSS الحديثة السلسة بدون الحاجة إلى استعلامات عن الوسائط، راجع 1linelayouts.com.

التحقق من فهمك

اختبر معلوماتك حول تنسيقات الماكرو.

ما هي الجملة التي تصف التخطيطات الماكرو بشكل أفضل؟

التنسيقات التي تحتوي على تنسيقات أخرى.
يُرجى إعادة المحاولة. تحتوي معظم التخطيطات على تخطيطات أخرى.
عندما يستخدم التصميم المربع المرن أو الشبكة.
يُرجى إعادة المحاولة. لا يحتوي أيٌ من flexbox أو الشبكة على أي شيء خاص بتنسيقات الماكرو.
تخطيطات منخفضة المستوى تغطي كميات صغيرة من الشاشة.
يُرجى إعادة المحاولة.
تنسيقات عالية المستوى تغطي مساحات كبيرة من الشاشة
🎉 تُعدّ تنسيقات الماكرو تنسيقات أساسية لإحدى الصفحات، وتمتد إلى مساحات مرئية كبيرة، وغالبًا ما يتم تعديلها باستخدام طلبات البحث عن الوسائط بحجم الصفحة.

هل تستخدم تنسيقات الماكرو دائمًا استعلامات الوسائط للتكيف مع أحجام الشاشات المختلفة؟

صحيح
يُرجى إعادة المحاولة. لا يتم تحديد تنسيق الماكرو من خلال استخدامه للاستعلامات عن الوسائط.
خطأ
🎉 يمكن أن تتكيف تنسيقات الماكرو لتلائم المحتوى وتملأ المساحة المتاحة والمزيد بدون الاستعلام عن الوسائط.

الآن بعد أن حصلت على بعض الأفكار لتخطيطات الماكرو على مستوى الصفحة، لفت انتباهك إلى المكونات داخل الصفحة. هذا هو عالم تنسيقات دقيقة.