CSS Tricks: A Complete Guide to Flexbox
```wiki
CSS Tricks: دليل شامل لـ Flexbox
Flexbox (اختصار لـ Flexible Box Layout) هو نموذج تخطيط CSS قوي يسمح لك بتصميم صفحات ويب معقدة بسهولة ومرونة. يوفر طريقة فعالة لتوزيع المساحة بين العناصر داخل حاوية، وتحديد المحاذاة، وترتيب العناصر، وحتى تغيير ترتيب العرض بناءً على حجم الشاشة. هذا الدليل الشامل موجه للمبتدئين ويهدف إلى تزويدك بفهم عميق لـ Flexbox وكيفية استخدامه في مشاريعك.
ما هو Flexbox ولماذا نستخدمه؟
تقليدياً، كان تخطيط صفحات الويب يعتمد على `float` و `position`. على الرغم من أن هذه التقنيات لا تزال مستخدمة، إلا أنها يمكن أن تكون معقدة وصعبة في التحكم، خاصةً عند التعامل مع التخطيطات المتجاوبة (Responsive Layouts) التي تتكيف مع أحجام الشاشات المختلفة.
Flexbox يقدم حلاً أكثر أناقة وفعالية. فهو مصمم خصيصاً للتخطيطات أحادية البعد - إما صف (row) أو عمود (column). يتيح لك التحكم في كيفية توزيع المساحة بين العناصر، وكيفية محاذاة هذه العناصر داخل الحاوية، وكيفية تغيير ترتيبها دون الحاجة إلى تعديل HTML.
- **المرونة:** يتكيف Flexbox مع أحجام الشاشات المختلفة، مما يجعله مثالياً للتصميم المتجاوب.
- **السهولة:** أبسط وأسهل في الاستخدام من `float` و `position` للتخطيطات المعقدة.
- **التوزيع:** يوفر أدوات قوية لتوزيع المساحة بين العناصر.
- **المحاذاة:** يتيح لك محاذاة العناصر بسهولة داخل الحاوية.
- **الترتيب:** يسمح لك بتغيير ترتيب العناصر بصرياً دون تغيير HTML.
المفاهيم الأساسية في Flexbox
لفهم Flexbox، يجب أن تكون على دراية بالمفاهيم الأساسية التالية:
- **Flex Container (حاوية Flex):** العنصر الذي يحتوي على عناصر Flex. يتم تعريف الحاوية باستخدام الخاصية `display: flex;` أو `display: inline-flex;`.
- **Flex Items (عناصر Flex):** العناصر المباشرة التابعة لحاوية Flex.
- **Main Axis (المحور الرئيسي):** المحور الذي يتم عليه ترتيب عناصر Flex. بشكل افتراضي، يكون المحور الرئيسي هو المحور الأفقي (row).
- **Cross Axis (المحور الثانوي):** المحور العمودي على المحور الرئيسي.
- **Main Start/End (بداية/نهاية المحور الرئيسي):** بداية ونهاية المحور الرئيسي.
- **Cross Start/End (بداية/نهاية المحور الثانوي):** بداية ونهاية المحور الثانوي.
خصائص Flex Container
هناك العديد من خصائص CSS التي يمكنك استخدامها على حاوية Flex للتحكم في تخطيط العناصر داخلها. إليك بعض الخصائص الأكثر شيوعاً:
- `flex-direction`: يحدد اتجاه المحور الرئيسي. القيم المتاحة هي:
* `row` (افتراضي): العناصر مرتبة في صف. * `row-reverse`: العناصر مرتبة في صف معكوس. * `column`: العناصر مرتبة في عمود. * `column-reverse`: العناصر مرتبة في عمود معكوس.
- `flex-wrap`: يحدد ما إذا كان يجب أن تلتف العناصر إلى سطر جديد إذا لم يكن هناك مساحة كافية في الحاوية. القيم المتاحة هي:
* `nowrap` (افتراضي): العناصر لا تلتف. * `wrap`: العناصر تلتف إلى سطر جديد. * `wrap-reverse`: العناصر تلتف إلى سطر جديد بترتيب معكوس.
- `justify-content`: يحدد كيفية محاذاة العناصر على طول المحور الرئيسي. القيم المتاحة هي:
* `flex-start` (افتراضي): العناصر محاذاة إلى بداية المحور الرئيسي. * `flex-end`: العناصر محاذاة إلى نهاية المحور الرئيسي. * `center`: العناصر محاذاة في منتصف المحور الرئيسي. * `space-between`: العناصر موزعة بالتساوي على طول المحور الرئيسي، مع مساحة فارغة بينها. * `space-around`: العناصر موزعة بالتساوي على طول المحور الرئيسي، مع مساحة فارغة حولها. * `space-evenly`: العناصر موزعة بالتساوي على طول المحور الرئيسي، مع مساحة فارغة متساوية بينها وحولها.
- `align-items`: يحدد كيفية محاذاة العناصر على طول المحور الثانوي. القيم المتاحة هي:
* `stretch` (افتراضي): العناصر تمتد لملء الحاوية. * `flex-start`: العناصر محاذاة إلى بداية المحور الثانوي. * `flex-end`: العناصر محاذاة إلى نهاية المحور الثانوي. * `center`: العناصر محاذاة في منتصف المحور الثانوي. * `baseline`: العناصر محاذاة بناءً على خط الأساس الخاص بها.
- `align-content`: يحدد كيفية محاذاة خطوط Flex عندما يكون هناك أكثر من خط. (يعمل فقط عندما يكون `flex-wrap` مضبوطاً على `wrap` أو `wrap-reverse`). القيم المتاحة مشابهة لـ `justify-content`.
خصائص Flex Item
يمكنك أيضاً استخدام خصائص CSS على عناصر Flex للتحكم في كيفية توزيع المساحة بينها وكيفية محاذاةها داخل الحاوية. إليك بعض الخصائص الأكثر شيوعاً:
- `flex-grow`: يحدد مقدار المساحة الإضافية التي يجب أن يمتد إليها العنصر.
- `flex-shrink`: يحدد مقدار المساحة التي يجب أن يتقلص إليها العنصر.
- `flex-basis`: يحدد حجم العنصر الأولي قبل توزيع المساحة المتبقية.
- `flex`: اختصار لـ `flex-grow`, `flex-shrink` و `flex-basis`.
- `align-self`: يتجاوز قيمة `align-items` للحاوية ويحدد كيفية محاذاة العنصر على طول المحور الثانوي.
- `order`: يحدد ترتيب العنصر في الحاوية.
أمثلة عملية
{{| class="wikitable" |+ أمثلة على استخدام Flexbox |- | **سيناريو** || **CSS** || **نتيجة** |- | تخطيط أفقي مع توزيع متساوٍ للمساحة || `display: flex; justify-content: space-between;` || العناصر مرتبة في صف، مع مساحة فارغة بينها. |- | تخطيط عمودي مع محاذاة العناصر في المنتصف || `display: flex; flex-direction: column; align-items: center;` || العناصر مرتبة في عمود، مع محاذاة في المنتصف. |- | عنصر يمتد ليملأ المساحة المتبقية || `flex-grow: 1;` || العنصر يمتد ليملأ المساحة الفارغة في الحاوية. |- | تغيير ترتيب العناصر بصرياً || `order: 1;` || العنصر الذي لديه قيمة `order` أعلى يظهر في النهاية. |}
Flexbox والتصميم المتجاوب (Responsive Design)
Flexbox هو أداة قوية للتصميم المتجاوب. يمكنك استخدام `flex-wrap` لتغيير ترتيب العناصر بناءً على حجم الشاشة. على سبيل المثال، يمكنك ترتيب العناصر في صف على الشاشات الكبيرة وفي عمود على الشاشات الصغيرة.
```css .container {
display: flex; flex-wrap: wrap;
}
.item {
width: 30%; /* على الشاشات الكبيرة */
}
@media (max-width: 768px) {
.item { width: 100%; /* على الشاشات الصغيرة */ }
} ```
مقارنة Flexbox مع Grid Layout
Grid Layout هو نموذج تخطيط CSS آخر يوفر تحكماً أكبر في التخطيطات ثنائية الأبعاد. بينما Flexbox مثالي للتخطيطات أحادية البعد، فإن Grid Layout مثالي للتخطيطات المعقدة التي تتطلب تحكماً دقيقاً في الصفوف والأعمدة.
- **Flexbox:** تخطيطات أحادية البعد، ترتيب العناصر، توزيع المساحة.
- **Grid Layout:** تخطيطات ثنائية الأبعاد، صفوف وأعمدة، تحكم دقيق في التخطيط.
أدوات مفيدة لتعلم Flexbox
- Flexbox Froggy: [[1]] لعبة تعليمية تفاعلية لتعلم Flexbox.
- Flexbox Zombies: [[2]] لعبة تعليمية تفاعلية أخرى لتعلم Flexbox.
- CSS-Tricks Flexbox Cheatsheet: [[3]] مرجع سريع لخصائص Flexbox.
Flexbox والخيارات الثنائية: تطبيق المفاهيم
على الرغم من أن Flexbox يتعلق بتصميم الويب، إلا أن مبادئه يمكن تطبيقها بشكل مجازي على استراتيجيات الخيارات الثنائية. فكر في Flexbox كأداة لتوزيع رأس المال (المساحة) بين الصفقات المختلفة (العناصر).
- **Flex-grow:** يمثل حجم الاستثمار في صفقة معينة. الاستثمار الأعلى (flex-grow أكبر) يعني إمكانية ربح أعلى، ولكنه أيضاً يزيد من المخاطر.
- **Flex-shrink:** يمثل حجم الخسارة المحتملة في صفقة معينة.
- **Justify-content:** يمثل توزيع رأس المال بين استراتيجيات مختلفة. `space-between` يمكن أن يمثل تنويع الاستثمار بين استراتيجيات ذات مخاطر مختلفة.
- **Align-items:** يمثل مستوى المخاطرة العام لمحفظتك.
فهم كيفية توزيع الموارد (رأس المال) بشكل فعال هو مفتاح النجاح في الخيارات الثنائية. تماماً كما يساعدك Flexbox في تصميم تخطيطات ويب مرنة وفعالة، يمكن أن تساعدك استراتيجية إدارة رأس المال الجيدة في التعامل مع تقلبات السوق.
استراتيجيات الخيارات الثنائية ذات الصلة
- استراتيجية مارتينجال: استراتيجية مضاعفة الخسائر.
- استراتيجية دالي: استراتيجية تعتمد على تحليل الشموع اليابانية.
- استراتيجية 60 ثانية: استراتيجية تداول قصيرة الأجل.
- استراتيجية بينالي: استراتيجية تعتمد على تحليل الاتجاهات.
- استراتيجية التداول العكسي: استراتيجية تعتمد على توقع انعكاس الاتجاه.
- تحليل حجم التداول: فهم حجم التداول يمكن أن يساعد في اتخاذ قرارات تداول أفضل.
- المؤشرات الفنية: استخدام المؤشرات الفنية مثل المتوسطات المتحركة و RSI.
- الاتجاهات: تحديد الاتجاهات الصاعدة والهابطة.
- التحليل الأساسي: تحليل العوامل الاقتصادية والسياسية التي تؤثر على الأسعار.
- إدارة المخاطر: تحديد حجم الصفقة المناسب وإدارة المخاطر.
- تداول الأخبار: التداول بناءً على الأخبار الاقتصادية والسياسية.
- تداول النطاق: التداول داخل نطاق سعري محدد.
- تداول الاختراق: التداول عند اختراق مستويات الدعم والمقاومة.
- تداول الاتجاه: التداول في اتجاه الاتجاه السائد.
- تداول التصحيح: التداول خلال فترات التصحيح في الاتجاه.
- تداول القمم والقيعان: التداول عند القمم والقيعان السعرية.
- تداول الشموع اليابانية: استخدام أنماط الشموع اليابانية لاتخاذ قرارات التداول.
- تداول السكالبينج: تداول سريع الأجل لتحقيق أرباح صغيرة.
- تداول الدقيقة: تداول على المدى القصير جداً.
- تداول الساعة: تداول على المدى المتوسط.
- تداول اليوم: تداول على المدى اليومي.
- تداول الأسبوع: تداول على المدى الأسبوعي.
- تداول الشهر: تداول على المدى الشهري.
- التحليل الفني المتقدم: استخدام أدوات التحليل الفني المتقدمة.
- التحليل النفسي للسوق: فهم سيكولوجية المتداولين.
الخلاصة
Flexbox هو أداة قوية ومرنة لتصميم صفحات ويب متجاوبة. من خلال فهم المفاهيم الأساسية والخصائص المختلفة، يمكنك إنشاء تخطيطات معقدة بسهولة وفعالية. تذكر أن الممارسة هي المفتاح لإتقان Flexbox، لذا ابدأ بتجربة الأمثلة المختلفة واستكشاف الإمكانيات التي يوفرها. كما أن تطبيق مبادئ Flexbox على استراتيجيات إدارة رأس المال في الخيارات الثنائية يمكن أن يساعدك في تحقيق النجاح. ```
ابدأ التداول الآن
سجّل في IQ Option (الحد الأدنى للإيداع 10 دولار) افتح حساباً في Pocket Option (الحد الأدنى للإيداع 5 دولار)
انضم إلى مجتمعنا
اشترك في قناة Telegram الخاصة بنا @strategybin لتصلك: ✓ إشارات تداول يومية ✓ تحليلات استراتيجية حصرية ✓ تنبيهات اتجاهات السوق ✓ مواد تعليمية للمبتدئين