W3Schools Flexbox Tutorial

From binaryoption
Jump to navigation Jump to search
Баннер1

```wiki

Flexbox: دليل شامل للمبتدئين (مستوحى من W3Schools)

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

ما هو Flexbox ولماذا نستخدمه؟

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

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

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

لفهم Flexbox، يجب أن نفهم بعض المفاهيم الأساسية:

  • **Flex Container (حاوية Flex):** هو العنصر الأب الذي يحتوي على عناصر Flex. لتحويل عنصر إلى حاوية Flex، يجب تعيين خاصية `display` الخاصة به إلى `flex`.
  • **Flex Items (عناصر Flex):** هي العناصر الأبناء المباشرة لحاوية Flex. يتم ترتيب هذه العناصر وتوزيعها داخل الحاوية باستخدام خصائص Flexbox.
  • **Main Axis (المحور الرئيسي):** هو المحور الذي يتم على طوله ترتيب عناصر Flex. افتراضياً، يكون المحور الرئيسي أفقياً. يمكن تغيير اتجاه المحور الرئيسي باستخدام خاصية `flex-direction`.
  • **Cross Axis (المحور الثانوي):** هو المحور الذي يكون عمودياً على المحور الرئيسي. يتم استخدام المحور الثانوي لمحاذاة عناصر Flex.
  • **Justify-content:** تحدد كيفية توزيع عناصر Flex على طول المحور الرئيسي.
  • **Align-items:** تحدد كيفية محاذاة عناصر Flex على طول المحور الثانوي.
  • **Flex-direction:** تحدد اتجاه المحور الرئيسي. يمكن أن تكون `row` (افتراضي)، `row-reverse`، `column`، أو `column-reverse`.
  • **Flex-wrap:** تحدد ما إذا كان يجب التفاف عناصر Flex إلى سطر جديد إذا لم يكن هناك مساحة كافية لها في السطر الحالي.
  • **Flex-grow:** تحدد مقدار المساحة الإضافية التي يجب أن يشغلها عنصر Flex.
  • **Flex-shrink:** تحدد مقدار المساحة التي يجب أن يتقلصها عنصر Flex.
  • **Flex-basis:** تحدد الحجم الأولي لعنصر Flex.

إنشاء حاوية Flex

لإنشاء حاوية Flex، قم بتعيين خاصية `display` الخاصة بالعنصر الأب إلى `flex`. على سبيل المثال:

```css .container {

 display: flex;

} ```

هذا سيجعل العنصر ذو الفئة `container` حاوية Flex، وسيتم ترتيب عناصره الأبناء المباشرة كعناصر Flex.

التحكم في اتجاه العناصر باستخدام `flex-direction`

خاصية `flex-direction` تحدد اتجاه المحور الرئيسي. يمكن أن تأخذ إحدى القيم التالية:

  • `row` (افتراضي): ترتيب العناصر أفقياً من اليسار إلى اليمين.
  • `row-reverse`: ترتيب العناصر أفقياً من اليمين إلى اليسار.
  • `column`: ترتيب العناصر عمودياً من الأعلى إلى الأسفل.
  • `column-reverse`: ترتيب العناصر عمودياً من الأسفل إلى الأعلى.

مثال:

```css .container {

 display: flex;
 flex-direction: column;

} ```

هذا سيجعل العناصر مرتبة عمودياً داخل الحاوية.

التحكم في توزيع المساحة باستخدام `justify-content`

خاصية `justify-content` تحدد كيفية توزيع عناصر Flex على طول المحور الرئيسي. يمكن أن تأخذ إحدى القيم التالية:

  • `flex-start` (افتراضي): محاذاة العناصر إلى بداية المحور الرئيسي.
  • `flex-end`: محاذاة العناصر إلى نهاية المحور الرئيسي.
  • `center`: محاذاة العناصر إلى مركز المحور الرئيسي.
  • `space-between`: توزيع العناصر بالتساوي على طول المحور الرئيسي، مع وجود مساحة فارغة بين كل عنصرين.
  • `space-around`: توزيع العناصر بالتساوي على طول المحور الرئيسي، مع وجود مساحة فارغة حول كل عنصر.
  • `space-evenly`: توزيع العناصر بالتساوي على طول المحور الرئيسي، مع وجود مساحة فارغة متساوية حول كل عنصر.

مثال:

```css .container {

 display: flex;
 justify-content: center;

} ```

هذا سيجعل العناصر تتمحور أفقياً في مركز الحاوية.

التحكم في محاذاة العناصر باستخدام `align-items`

خاصية `align-items` تحدد كيفية محاذاة عناصر Flex على طول المحور الثانوي. يمكن أن تأخذ إحدى القيم التالية:

  • `stretch` (افتراضي): تمديد العناصر لملء الحاوية على طول المحور الثانوي.
  • `flex-start`: محاذاة العناصر إلى بداية المحور الثانوي.
  • `flex-end`: محاذاة العناصر إلى نهاية المحور الثانوي.
  • `center`: محاذاة العناصر إلى مركز المحور الثانوي.
  • `baseline`: محاذاة العناصر بناءً على خط الأساس الخاص بها.

مثال:

```css .container {

 display: flex;
 align-items: center;

} ```

هذا سيجعل العناصر تتمحور عمودياً في مركز الحاوية.

التفاف العناصر باستخدام `flex-wrap`

خاصية `flex-wrap` تحدد ما إذا كان يجب التفاف عناصر Flex إلى سطر جديد إذا لم يكن هناك مساحة كافية لها في السطر الحالي. يمكن أن تأخذ إحدى القيم التالية:

  • `nowrap` (افتراضي): لا يتم التفاف العناصر.
  • `wrap`: يتم التفاف العناصر إلى سطر جديد إذا لم يكن هناك مساحة كافية لها.
  • `wrap-reverse`: يتم التفاف العناصر إلى سطر جديد بترتيب عكسي.

مثال:

```css .container {

 display: flex;
 flex-wrap: wrap;

} ```

هذا سيجعل العناصر تلتف إلى سطر جديد إذا لم يكن هناك مساحة كافية لها في السطر الحالي.

التحكم في حجم العناصر باستخدام `flex-grow` و `flex-shrink` و `flex-basis`

  • **`flex-grow`**: تحدد مقدار المساحة الإضافية التي يجب أن يشغلها عنصر Flex بالنسبة للعناصر الأخرى. القيمة الافتراضية هي `0`.
  • **`flex-shrink`**: تحدد مقدار المساحة التي يجب أن يتقلصها عنصر Flex بالنسبة للعناصر الأخرى. القيمة الافتراضية هي `1`.
  • **`flex-basis`**: تحدد الحجم الأولي لعنصر Flex. القيمة الافتراضية هي `auto`.

يمكن استخدام هذه الخصائص بشكل فردي أو مع خاصية `flex` المختصرة. خاصية `flex` هي اختصار لـ `flex-grow` و `flex-shrink` و `flex-basis`.

مثال:

```css .item {

 flex: 1; /*  يكافئ flex-grow: 1; flex-shrink: 1; flex-basis: 0%; */

} ```

هذا سيجعل جميع العناصر تشغل نفس المساحة المتاحة داخل الحاوية.

خصائص Flex Item الإضافية

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

  • `order`: تحدد ترتيب العناصر داخل الحاوية.
  • `align-self`: تحدد محاذاة عنصر Flex على طول المحور الثانوي.
  • `flex-basis`: كما ذكرنا سابقاً، تحدد الحجم الأولي للعنصر.

أمثلة عملية

  • **إنشاء شريط تنقل أفقي:**

```html <nav class="navbar">

  • <a href="#">الرئيسية</a>
  • <a href="#">حول</a>
  • <a href="#">خدمات</a>
  • <a href="#">اتصل بنا</a>

</nav> ```

```css .navbar ul {

 display: flex;
 list-style: none;
 padding: 0;
 margin: 0;
 justify-content: space-around;

}

.navbar li a {

 text-decoration: none;
 color: black;
 padding: 10px;

} ```

  • **إنشاء تخطيط ثلاثي الأعمدة:**

```html

العمود الأيسر
العمود الأوسط
العمود الأيمن

```

```css .container {

 display: flex;

}

.column {

 flex: 1;
 padding: 20px;
 border: 1px solid black;

} ```

Flexbox والخيارات الثنائية: علاقة غير مباشرة

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

موارد إضافية

استراتيجيات الخيارات الثنائية والتحليل الفني

لفهم أفضل للخيارات الثنائية، يمكنك استكشاف الاستراتيجيات التالية:

الخلاصة

Flexbox هو أداة قوية ومرنة لتخطيط صفحات الويب. من خلال فهم المفاهيم الأساسية لـ Flexbox، يمكنك إنشاء تخطيطات معقدة وسهلة الصيانة تتكيف مع أحجام الشاشات المختلفة. باستخدام الدروس والموارد المتاحة، يمكنك إتقان Flexbox وتحسين مهاراتك في تطوير الويب. ``` ```

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

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

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

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

Баннер