CSS Tricks - A Complete Guide to Flexbox
```wiki
CSS Tricks - دليل شامل لـ Flexbox
مقدمة
Flexbox (صندوق مرن) هو نموذج تخطيط أحادي البعد في CSS، مصمم لتوفير طريقة أكثر كفاءة ومرونة لترتيب العناصر داخل حاوية. لقد أحدث Flexbox ثورة في طريقة تصميمنا للمواقع الإلكترونية، مما يسمح لنا بإنشاء تخطيطات معقدة بسهولة أكبر من الطرق التقليدية مثل استخدام `float` أو `position`. هذا الدليل الشامل يستهدف المبتدئين، ويهدف إلى تزويدك بفهم عميق لـ Flexbox وكيفية استخدامه في مشاريعك. سنغطي المفاهيم الأساسية، الخصائص الرئيسية، وأمثلة عملية لمساعدتك على إتقان هذا النموذج القوي. لفهم أفضل، يفضل أن تكون لديك معرفة أساسية بـ CSS و HTML.
ما هو Flexbox؟
تقليديًا، كان تصميم تخطيطات الويب غالبًا ما يعتمد على تقنيات مثل `float` و `position`، والتي يمكن أن تكون معقدة وتتطلب الكثير من التعليمات البرمجية للحصول على النتائج المرجوة. Flexbox يقدم حلاً أكثر بساطة ومرونة. إنه مصمم للتعامل مع التخطيطات أحادية البعد، سواء كانت صفوفًا أو أعمدة. بمعنى آخر، فهو مثالي لتوزيع العناصر على طول محور واحد.
المفاهيم الأساسية
- Flex Container (حاوية Flex): هو العنصر الذي يحتوي على عناصر Flex. يتم تعيين خاصية `display: flex;` أو `display: inline-flex;` على هذا العنصر لتفعيله كحاوية Flex.
- Flex Items (عناصر Flex): هي العناصر المباشرة التابعة لحاوية Flex. يتم ترتيب هذه العناصر بواسطة Flexbox.
- Main Axis (المحور الرئيسي): هو المحور الرئيسي الذي يتم على طوله ترتيب عناصر Flex. افتراضيًا، يكون المحور الرئيسي أفقيًا (من اليسار إلى اليمين).
- Cross Axis (المحور الثانوي): هو المحور العمودي على المحور الرئيسي. افتراضيًا، يكون المحور الثانوي عموديًا (من الأعلى إلى الأسفل).
الخصائص الرئيسية لحاوية Flex
الخصائص التالية تُطبَّق على حاوية Flex للتحكم في سلوك عناصر Flex:
- `flex-direction` (اتجاه Flex): تحدد اتجاه المحور الرئيسي. يمكن أن تكون القيم:
* `row` (افتراضي): ترتب العناصر أفقيًا من اليسار إلى اليمين. * `row-reverse`: ترتب العناصر أفقيًا من اليمين إلى اليسار. * `column`: ترتب العناصر عموديًا من الأعلى إلى الأسفل. * `column-reverse`: ترتب العناصر عموديًا من الأسفل إلى الأعلى.
- `flex-wrap` (التفاف Flex): تحدد ما إذا كان يجب أن تلتف العناصر إلى سطر جديد إذا لم يكن هناك مساحة كافية في الحاوية. يمكن أن تكون القيم:
* `nowrap` (افتراضي): لا يتم التفاف العناصر. * `wrap`: يتم التفاف العناصر إلى سطر جديد. * `wrap-reverse`: يتم التفاف العناصر إلى سطر جديد بترتيب عكسي.
- `flex-flow` (تدفق Flex): اختصار لـ `flex-direction` و `flex-wrap`.
- `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 عندما يكون هناك أكثر من خط. تشبه `justify-content` ولكنها تعمل على مستوى الخطوط بدلاً من العناصر الفردية.
الخصائص الرئيسية لعناصر Flex
الخصائص التالية تُطبَّق على عناصر Flex للتحكم في سلوكها داخل الحاوية:
- `order` (الترتيب): تحدد ترتيب العناصر داخل الحاوية. العناصر ذات القيمة الأقل تظهر أولاً.
- `flex-grow` (نمو Flex): تحدد مقدار المساحة الإضافية التي يجب أن يشغلها العنصر داخل الحاوية.
- `flex-shrink` (انكماش Flex): تحدد مقدار المساحة التي يمكن أن ينكمشها العنصر داخل الحاوية.
- `flex-basis` (أساس Flex): تحدد الحجم الأولي للعنصر قبل توزيع المساحة المتاحة.
- `flex` (Flex): اختصار لـ `flex-grow` و `flex-shrink` و `flex-basis`.
- `align-self` (محاذاة ذاتية): تحدد كيفية محاذاة العنصر على طول المحور الثانوي، متجاوزة قيمة `align-items` الخاصة بالحاوية.
أمثلة عملية
مثال 1: تخطيط أفقي بسيط
```html
```
هذا الكود سينشئ تخطيطًا أفقيًا بسيطًا بثلاثة عناصر.
مثال 2: تخطيط عمودي بسيط
```html
```
هذا الكود سينشئ تخطيطًا عموديًا بسيطًا بثلاثة عناصر.
مثال 3: توزيع المساحة بالتساوي
```html
```
هذا الكود سيوزع المساحة بالتساوي بين العناصر الثلاثة.
مثال 4: محاذاة العناصر في المنتصف
```html
```
هذا الكود سيحاذي العنصر في المنتصف أفقيًا وعموديًا داخل الحاوية.
Flexbox والمواقع الإلكترونية المتجاوبة (Responsive Websites)
Flexbox أداة قوية لإنشاء مواقع ويب متجاوبة. باستخدام `flex-wrap` و `flex-grow` و `flex-shrink`، يمكنك بسهولة تكييف التخطيط مع أحجام الشاشات المختلفة. على سبيل المثال، يمكنك ترتيب العناصر أفقيًا على الشاشات الكبيرة وعموديًا على الشاشات الصغيرة.
مقارنة Flexbox مع Grid
بينما يشترك Flexbox و CSS Grid في بعض أوجه التشابه، إلا أنهما مصممان لحالات استخدام مختلفة. Flexbox هو الأفضل للتخطيطات أحادية البعد، بينما Grid هو الأفضل للتخطيطات ثنائية البعد. بمعنى آخر، Flexbox مثالي لترتيب العناصر في صف أو عمود، بينما Grid مثالي لإنشاء تخطيطات معقدة تتطلب صفوفًا وأعمدة متعددة.
نصائح وحيل
- استخدم أدوات المطور في المتصفح لفحص عناصر Flex وتعديل خصائصها في الوقت الفعلي.
- لا تخف من تجربة قيم مختلفة للخصائص لمعرفة كيفية تأثيرها على التخطيط.
- استخدم `flex: 1;` لملء المساحة المتاحة بالتساوي.
- استخدم `flex: 0;` لمنع العنصر من النمو أو الانكماش.
- استخدم `align-items: center;` لمحاذاة العناصر عموديًا داخل الحاوية.
الخلاصة
Flexbox هو نموذج تخطيط قوي ومرن يمكن أن يبسط بشكل كبير عملية تصميم مواقع الويب. من خلال فهم المفاهيم الأساسية والخصائص الرئيسية، يمكنك إنشاء تخطيطات معقدة بسهولة وكفاءة. تدرب على الأمثلة المذكورة في هذا الدليل، واستمر في التجربة، وستصبح خبيرًا في Flexbox في أي وقت من الأوقات.
مواضيع ذات صلة
- CSS
- HTML
- CSS Grid
- Responsive Web Design
- CSS Selectors
- CSS Positioning
- CSS Box Model
- CSS Media Queries
- CSS Transitions
- CSS Animations
روابط لاستراتيجيات الخيارات الثنائية والتحليل الفني
- استراتيجية 60 ثانية
- استراتيجية بينالي
- استراتيجية مارتينجال
- تحليل الاتجاه
- تحليل حجم التداول
- مؤشر المتوسط المتحرك
- مؤشر RSI
- مؤشر MACD
- نظام بولينجر باندز
- استراتيجية الاختراق
- استراتيجية الارتداد
- التحليل الأساسي
- التحليل الفني المتقدم
- إدارة المخاطر في الخيارات الثنائية
- التحليل النفسي للسوق
- تداول الأخبار
- تداول الخيارات الثنائية على المدى القصير
- تداول الخيارات الثنائية على المدى الطويل
- استراتيجيات التداول الآلي
- الشفافية في الخيارات الثنائية
- تنظيم الخيارات الثنائية
- الضرائب على الخيارات الثنائية
- الاحتيال في الخيارات الثنائية
- اختيار وسيط الخيارات الثنائية
- نصائح للمبتدئين في الخيارات الثنائية
``` ```
ابدأ التداول الآن
سجّل في IQ Option (الحد الأدنى للإيداع 10 دولار) افتح حساباً في Pocket Option (الحد الأدنى للإيداع 5 دولار)
انضم إلى مجتمعنا
اشترك في قناة Telegram الخاصة بنا @strategybin لتصلك: ✓ إشارات تداول يومية ✓ تحليلات استراتيجية حصرية ✓ تنبيهات اتجاهات السوق ✓ مواد تعليمية للمبتدئين