CSS-Tricks Flexbox Complete Guide

From binaryoption
Jump to navigation Jump to search

دليل شامل لـ Flexbox من CSS-Tricks: للمبتدئين

Flexbox (تخطيط الصندوق المرن) هو نموذج تخطيط CSS قوي وفعال يتيح لك تصميم واجهات مستخدم معقدة بسهولة. يوفر Flexbox طريقة فعالة لتوزيع المساحة بين العناصر داخل حاوية، ومواءمتها، وتغيير اتجاه تخطيطها. هذا المقال، المستوحى من دليل CSS-Tricks الشامل، يهدف إلى تعريفك بـ Flexbox وتقديم أساس متين لفهمه واستخدامه في مشاريع تطوير الويب الخاصة بك.

ما هو Flexbox؟

تقليديًا، كان تخطيط صفحات الويب يعتمد على نماذج مثل التخطيط التقليدي (Normal Flow)، Float، و Positioning. هذه النماذج غالبًا ما كانت تتطلب الكثير من التعليمات البرمجية المعقدة لتحقيق تخطيطات مرنة ومتجاوبة. Flexbox يهدف إلى تبسيط هذه العملية من خلال توفير واجهة برمجة تطبيقات (API) مرنة وفعالة.

Flexbox مصمم للتعامل مع تخطيطات ذات بعد واحد في كل مرة – إما صف (row) أو عمود (column). هذا يجعله مثاليًا لتخطيط عناصر القائمة، أو أشرطة الأدوات، أو أي عنصر يحتاج إلى التوزيع والمرونة. بينما Grid Layout هو الأنسب للتخطيطات ثنائية الأبعاد.

المفاهيم الأساسية لـ Flexbox

لفهم Flexbox بشكل كامل، يجب أن تكون على دراية بالمفاهيم التالية:

  • **Flex Container (حاوية Flex):** هو العنصر الأب الذي يحتوي على العناصر المرنة (Flex Items). لتحديد عنصر كحاوية Flex، استخدم الخاصية `display: flex;` أو `display: inline-flex;`. الفرق بينهما يكمن في سلوك الحاوية نفسها (block-level أو inline-level).
  • **Flex Items (عناصر Flex):** هي العناصر المباشرة التابعة لحاوية Flex. هذه العناصر تخضع لقواعد Flexbox.
  • **Main Axis (المحور الرئيسي):** هو المحور الذي يتم على طوله ترتيب عناصر Flex. بشكل افتراضي، يكون المحور الرئيسي أفقيًا (من اليسار إلى اليمين). يمكن تغيير اتجاهه باستخدام الخاصية `flex-direction`.
  • **Cross Axis (المحور الثانوي):** هو المحور العمودي على المحور الرئيسي.
  • **justify-content:** تحدد كيفية توزيع عناصر Flex على طول المحور الرئيسي. الخيارات تشمل: `flex-start`، `flex-end`، `center`، `space-between`، `space-around`، و `space-evenly`.
  • **align-items:** تحدد كيفية مواءمة عناصر Flex على طول المحور الثانوي. الخيارات تشمل: `flex-start`، `flex-end`، `center`، `baseline`، و `stretch`.
  • **flex-direction:** تحدد اتجاه المحور الرئيسي. الخيارات تشمل: `row` (افتراضي)، `row-reverse`، `column`، و `column-reverse`.
  • **flex-wrap:** تحدد ما إذا كان يجب على عناصر Flex الالتفاف إلى سطر جديد إذا تجاوزت عرض الحاوية. الخيارات تشمل: `nowrap` (افتراضي)، `wrap`، و `wrap-reverse`.

خصائص Flex Items

بالإضافة إلى خصائص الحاوية، يمكن تطبيق خصائص على عناصر Flex الفردية للتحكم في سلوكها:

  • **order:** يحدد ترتيب عرض عنصر Flex داخل الحاوية.
  • **flex-grow:** يحدد مقدار المساحة الإضافية التي يجب أن يشغلها عنصر Flex بالنسبة لعناصر Flex الأخرى في الحاوية.
  • **flex-shrink:** يحدد مقدار المساحة التي يجب أن يتقلص بها عنصر Flex إذا تجاوزت الحاوية عرضها.
  • **flex-basis:** يحدد الحجم الأولي لعنصر Flex قبل توزيع المساحة المتاحة.
  • **align-self:** يسمح لك بتجاوز قيمة `align-items` الخاصة بالحاوية لعنصر Flex معين.

مثال عملي

لننظر إلى مثال بسيط:

```css .container {

 display: flex;
 justify-content: center;
 align-items: center;
 height: 200px;
 background-color: #f0f0f0;

}

.item {

 width: 100px;
 height: 50px;
 background-color: #3498db;
 color: white;
 text-align: center;

} ```

هذا الكود سيُنشئ حاوية Flex تحتوي على ثلاثة عناصر، مُمركزة أفقيًا ورأسيًا داخل الحاوية.

Flexbox والتجاوبية (Responsiveness)

Flexbox هو أداة قوية لإنشاء تصميمات متجاوبة. باستخدام `flex-wrap` و `flex-grow` و `flex-shrink`، يمكنك التأكد من أن تخطيطك يتكيف مع أحجام الشاشات المختلفة. على سبيل المثال، يمكنك جعل عناصر Flex تلتف إلى سطر جديد على الشاشات الصغيرة، أو جعلها تشغل المساحة المتاحة بالتساوي على الشاشات الكبيرة.

الموارد الإضافية

استراتيجيات تداول الخيارات الثنائية ذات الصلة (للمقارنة والتطبيق المفاهيمي)

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

الخلاصة

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

ابدأ التداول الآن

سجل في IQ Option (الحد الأدنى للإيداع $10) افتح حساباً في Pocket Option (الحد الأدنى للإيداع $5)

انضم إلى مجتمعنا

اشترك في قناة Telegram الخاصة بنا @strategybin للحصول على: ✓ إشارات تداول يومية ✓ تحليلات استراتيجية حصرية ✓ تنبيهات باتجاهات السوق ✓ مواد تعليمية للمبتدئين