Can I use... Flexbox: Difference between revisions

From binaryoption
Jump to navigation Jump to search
Баннер1
(@pipegas_WP)
 
(@pipegas_WP)
Line 1: Line 1:
=== هل يمكنني استخدام... Flexbox؟ دليل شامل للمبتدئين ===
=== هل يمكنني استخدام... Flexbox؟ دليل شامل للمبتدئين ===


Flexbox (صندوق مرن) هو نموذج تخطيط CSS قوي يسمح لك بتصميم واجهات مستخدم مرنة ومستجيبة بسهولة. يهدف هذا المقال إلى تقديم نظرة عامة شاملة على Flexbox للمبتدئين، مع شرح المفاهيم الأساسية وكيفية تطبيقها في مشاريعك.
'''مقدمة'''
 
Flexbox (صندوق مرن) هو نموذج تخطيط قوي وفعال في [[CSS]] يتيح لك تصميم واجهات مستخدم معقدة بسهولة. ظهر Flexbox كبديل أكثر فاعلية للطرق التقليدية مثل [[float]] و [[positioning]]، خاصةً عندما يتعلق الأمر بتوزيع العناصر داخل حاوية بطريقة متجاوبة ومرنة. يهدف هذا المقال إلى تقديم شرح مفصل لـ Flexbox للمبتدئين، مع التركيز على كيفية استخدامه في تصميم مواقع الويب الحديثة.


== ما هو Flexbox؟ ==
== ما هو Flexbox؟ ==


تقليدياً، كان تخطيط صفحات الويب يعتمد على تقنيات مثل `float` و `positioning`. هذه الطرق يمكن أن تكون معقدة وصعبة الصيانة، خاصةً عند التعامل مع تخطيطات معقدة أو تصميمات متجاوبة. Flexbox يغير هذا من خلال توفير طريقة أكثر فعالية ومرونة للتحكم في توزيع العناصر داخل حاوية.
Flexbox هو اختصار لـ "Flexible Box Layout Module"، وهو نموذج تخطيط أحادي البعد (إما صف أو عمود) يساعد في توزيع المساحة بين العناصر داخل حاوية. يتيح لك التحكم في اتجاه العناصر، ومحاذاتها، وترتيبها، وتوزيعها بشكل مرن، حتى في ظل أحجام شاشات مختلفة.  يعتبر Flexbox جزءًا أساسيًا من [[تصميم الويب المتجاوب]].
 
== المفاهيم الأساسية في Flexbox ==


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


== المفاهيم الأساسية لـ Flexbox ==
* '''Flex Container (حاوية Flex):''' العنصر الذي يحتوي على عناصر Flex. يتم تعيين خاصية `display: flex;` أو `display: inline-flex;` على هذا العنصر.
* '''Flex Items (عناصر Flex):''' العناصر المباشرة التابعة لحاوية Flex.
* '''Main Axis (المحور الرئيسي):''' المحور الذي تترتب عليه عناصر Flex. افتراضيًا، يكون أفقيًا.
* '''Cross Axis (المحور الفرعي):''' المحور العمودي على المحور الرئيسي.
* '''Main Start/End (بداية/نهاية المحور الرئيسي):''' بداية ونهاية المحور الرئيسي.
* '''Cross Start/End (بداية/نهاية المحور الفرعي):''' بداية ونهاية المحور الفرعي.


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


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


== خصائص الحاوية (Container Properties) ==
* '''`flex-direction` (اتجاه Flex):''' يحدد اتجاه المحور الرئيسي. القيم المحتملة: `row` (افتراضي)، `row-reverse`، `column`، `column-reverse`.
* '''`flex-wrap` (لف Flex):''' يحدد ما إذا كان يجب لف عناصر Flex إلى سطر جديد إذا لم يكن هناك مساحة كافية. القيم المحتملة: `nowrap` (افتراضي)، `wrap`، `wrap-reverse`.
* '''`justify-content` (محاذاة المحتوى):''' يحدد كيفية توزيع عناصر Flex على طول المحور الرئيسي. القيم المحتملة: `flex-start` (افتراضي)، `flex-end`، `center`، `space-between`، `space-around`، `space-evenly`.
* '''`align-items` (محاذاة العناصر):''' يحدد كيفية محاذاة عناصر Flex على طول المحور الفرعي. القيم المحتملة: `stretch` (افتراضي)، `flex-start`، `flex-end`، `center`، `baseline`.
* '''`align-content` (محاذاة المحتوى):''' يحدد كيفية توزيع الخطوط (عند استخدام `flex-wrap: wrap`) على طول المحور الفرعي.


الخصائص التالية يتم تطبيقها على حاوية Flex:
{| class="wikitable"
|+ خصائص حاوية 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` || محاذاة الخطوط على المحور الفرعي || `stretch`, `flex-start`, `flex-end`, `center`, `space-between`, `space-around`
|}


*  `flex-direction`: تحدد اتجاه العناصر المرنة. القيم الممكنة هي `row` (افتراضي)، `column`، `row-reverse`، و `column-reverse`. [[تخطيط الصفحة]]
== خصائص عناصر Flex ==
*  `flex-wrap`: تحدد ما إذا كان يجب أن تلتف العناصر المرنة إلى سطر جديد إذا لم يكن هناك مساحة كافية. القيم الممكنة هي `nowrap` (افتراضي)، `wrap`، و `wrap-reverse`. [[تصميم متجاوب]]
*  `justify-content`: تحدد كيفية توزيع العناصر المرنة على طول المحور الرئيسي. القيم الممكنة تشمل `flex-start`، `flex-end`، `center`، `space-between`، `space-around`، و `space-evenly`. [[محاذاة العناصر]]
*  `align-items`: تحدد كيفية محاذاة العناصر المرنة على طول المحور الثانوي. القيم الممكنة تشمل `flex-start`، `flex-end`، `center`، `baseline`، و `stretch`. [[محاذاة النص]]
*  `align-content`: تحدد كيفية توزيع الأسطر المرنة عندما يكون هناك أكثر من سطر. [[تخطيط متعدد الأعمدة]]


== خصائص العناصر (Item Properties) ==
يمكنك أيضًا التحكم في سلوك عناصر Flex الفردية باستخدام خصائص CSS التالية:


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


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


== مثال عملي ==
'''مثال 1: إنشاء شريط تنقل أفقي'''


لنأخذ مثالاً بسيطاً:
<pre>
.navbar {
  display: flex;
  background-color: #333;
  overflow: hidden;
}


```css
.navbar a {
  float: left;
  display: block;
  color: white;
  text-align: center;
  padding: 14px 16px;
  text-decoration: none;
}
 
.navbar a:hover {
  background-color: #ddd;
  color: black;
}
</pre>
 
'''مثال 2: إنشاء تخطيط عمودي باستخدام `flex-direction: column`'''
 
<pre>
.container {
.container {
   display: flex;
   display: flex;
   flex-direction: row;
   flex-direction: column;
  justify-content: space-around;
   height: 300px;
  align-items: center;
  background-color: lightblue;
   height: 200px;
}
}


.item {
.item {
   width: 100px;
   flex: 1;
  height: 50px;
   background-color: lightblue;
   background-color: lightcoral;
   margin: 5px;
   border: 1px solid black;
}
}
```
</pre>
 
هذا الكود سينشئ حاوية Flex تحتوي على ثلاثة عناصر. العناصر ستُرتب في صف واحد، مع مساحة متساوية بينها، وستكون محاذية في المنتصف عمودياً. [[أمثلة CSS]]


== Flexbox والتصميم المتجاوب ==
== Flexbox والتصميم المتجاوب ==


Flexbox هو أداة قوية لإنشاء تصميمات متجاوبة. من خلال استخدام `flex-wrap` و `flex-direction`، يمكنك بسهولة تغيير تخطيط العناصر بناءً على حجم الشاشة. [[تصميم متجاوب باستخدام Flexbox]]
Flexbox هو أداة قوية لإنشاء تصميمات متجاوبة. القدرة على تغيير اتجاه Flex (`flex-direction`) وتوزيع المساحة (`justify-content` و `align-items`) تجعل من السهل تكييف تصميمك مع أحجام شاشات مختلفة.  بالإضافة إلى ذلك، يمكن استخدام [[استعلامات الوسائط]] لتطبيق أنماط Flexbox مختلفة بناءً على حجم الشاشة.


== مقارنة بين Flexbox و Grid ==
== مقارنة بين Flexbox و Grid ==


بينما يشترك كل من Flexbox و [[CSS Grid]] في بعض أوجه التشابه، إلا أنهما يخدمان أغراضًا مختلفة. Flexbox مثالي للتخطيطات أحادية البعد، بينما Grid مثالي للتخطيطات ثنائية البعد. [[مقارنة بين Flexbox و Grid]]
بينما يوفر Flexbox تخطيطًا أحادي البعد، يوفر [[CSS Grid]] تخطيطًا ثنائي البعد. يعتبر Grid أفضل للتخطيطات المعقدة التي تتطلب التحكم في الصفوف والأعمدة، بينما يعتبر Flexbox أفضل للتخطيطات البسيطة والتركيز على توزيع العناصر داخل حاوية. في كثير من الحالات، يمكن استخدام Flexbox و Grid معًا لتحقيق أفضل النتائج.
 
== أدوات مفيدة لتعلم Flexbox ==


== استراتيجيات تداول الخيارات الثنائية ذات الصلة ==
* [[Flexbox Froggy]]: لعبة لتعلم Flexbox بشكل تفاعلي.
* [[Flexbox Zombies]]: لعبة أخرى لتعلم Flexbox.
* [[CSS-Tricks Flexbox Complete Guide]]: دليل شامل لـ Flexbox.


على الرغم من أن Flexbox يتعلق بتصميم الويب، إلا أن فهمه يمكن أن يساعد في تطوير واجهات مستخدم لـ:
== استراتيجيات تداول ذات صلة (للإشارة إلى أهمية التكيف والمرونة) ==


*   [[استراتيجية مارتينجال]] – تصميم واجهة عرض بيانات التداول.
* [[استراتيجية الاختراق]]
*   [[استراتيجية المضاعفة]] - تصميم واجهة لعرض الرسوم البيانية.
* [[استراتيجية المتوسط المتحرك]]
*   [[استراتيجية المتوسط المتحرك]] – تصميم لوحات معلومات تداول.
* [[استراتيجية مؤشر القوة النسبية]]
*   [[استراتيجية اختراق النطاق]] - تصميم واجهة عرض إشعارات التداول.
* [[استراتيجية البولينجر باند]]
*   [[استراتيجية الدعم والمقاومة]] – تصميم واجهة تحليل الرسوم البيانية.
* [[استراتيجية MACD]]
*   [[التحليل الفني]] - تصميم واجهة لعرض المؤشرات الفنية.
* [[استراتيجية Ichimoku Cloud]]
*   [[تحليل حجم التداول]] - تصميم واجهة لعرض بيانات الحجم.
* [[تداول الأخبار]]
*   [[الشموع اليابانية]] - تصميم واجهة عرض أنماط الشموع.
* [[تداول الاتجاه]]
*   [[مؤشر القوة النسبية (RSI)]] – تصميم واجهة عرض قيم RSI.
* [[تداول الاختراق الكاذب]]
*   [[مؤشر الماكد (MACD)]] – تصميم واجهة عرض قيم MACD.
* [[تداول النطاق]]
*   [[مؤشر ستوكاستيك]] – تصميم واجهة عرض قيم ستوكاستيك.
* [[تداول التصحيح]]
*   [[بولينجر باندز]] - تصميم واجهة عرض نطاقات بولينجر.
* [[تداول الموجات]]
*   [[مستويات فيبوناتشي]] - تصميم واجهة عرض مستويات فيبوناتشي.
* [[تداول الخوارزمي]]
*   [[التحليل الأساسي]] - تصميم واجهة لعرض الأخبار الاقتصادية.
* [[تداول المضاربة]]
*   [[إدارة المخاطر]] – تصميم واجهة لعرض نسب المخاطرة.
* [[تداول السكالبينج]]


== موارد إضافية ==
== التحليل الفني وحجم التداول (للإشارة إلى أهمية فهم الديناميكيات) ==


*   [[Flexbox Froggy]]: لعبة تعليمية لتعلم Flexbox.
* [[تحليل الشموع اليابانية]]
*   [[CSS Tricks: A Complete Guide to Flexbox]]: دليل شامل لـ Flexbox.
* [[تحليل حجم التداول]]
*   [[MDN Web Docs: Flexbox]]: وثائق Flexbox الرسمية.
* [[مستويات الدعم والمقاومة]]
*   [[Can I use Flexbox]]: تحقق من توافق المتصفحات مع Flexbox.
* [[خطوط الاتجاه]]
*   [[تخطيطات CSS المتقدمة]]
* [[مؤشرات التذبذب]]
* [[مؤشرات الحجم]]
* [[نظرية الموجات إليوت]]


== الخلاصة ==
== خاتمة ==


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


[[Category:تخطيط_CSS]]
[[Category:الفئة:تخطيط_CSS]]


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

Revision as of 00:36, 23 April 2025

هل يمكنني استخدام... Flexbox؟ دليل شامل للمبتدئين

مقدمة

Flexbox (صندوق مرن) هو نموذج تخطيط قوي وفعال في CSS يتيح لك تصميم واجهات مستخدم معقدة بسهولة. ظهر Flexbox كبديل أكثر فاعلية للطرق التقليدية مثل float و positioning، خاصةً عندما يتعلق الأمر بتوزيع العناصر داخل حاوية بطريقة متجاوبة ومرنة. يهدف هذا المقال إلى تقديم شرح مفصل لـ Flexbox للمبتدئين، مع التركيز على كيفية استخدامه في تصميم مواقع الويب الحديثة.

ما هو Flexbox؟

Flexbox هو اختصار لـ "Flexible Box Layout Module"، وهو نموذج تخطيط أحادي البعد (إما صف أو عمود) يساعد في توزيع المساحة بين العناصر داخل حاوية. يتيح لك التحكم في اتجاه العناصر، ومحاذاتها، وترتيبها، وتوزيعها بشكل مرن، حتى في ظل أحجام شاشات مختلفة. يعتبر Flexbox جزءًا أساسيًا من تصميم الويب المتجاوب.

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

لفهم Flexbox، يجب عليك أولاً التعرف على بعض المفاهيم الأساسية:

  • Flex Container (حاوية Flex): العنصر الذي يحتوي على عناصر Flex. يتم تعيين خاصية `display: flex;` أو `display: inline-flex;` على هذا العنصر.
  • Flex Items (عناصر Flex): العناصر المباشرة التابعة لحاوية Flex.
  • Main Axis (المحور الرئيسي): المحور الذي تترتب عليه عناصر Flex. افتراضيًا، يكون أفقيًا.
  • Cross Axis (المحور الفرعي): المحور العمودي على المحور الرئيسي.
  • Main Start/End (بداية/نهاية المحور الرئيسي): بداية ونهاية المحور الرئيسي.
  • Cross Start/End (بداية/نهاية المحور الفرعي): بداية ونهاية المحور الفرعي.

خصائص حاوية Flex

هناك العديد من خصائص CSS التي يمكنك استخدامها للتحكم في سلوك حاوية Flex. بعض الخصائص الأكثر شيوعًا تشمل:

  • `flex-direction` (اتجاه Flex): يحدد اتجاه المحور الرئيسي. القيم المحتملة: `row` (افتراضي)، `row-reverse`، `column`، `column-reverse`.
  • `flex-wrap` (لف Flex): يحدد ما إذا كان يجب لف عناصر Flex إلى سطر جديد إذا لم يكن هناك مساحة كافية. القيم المحتملة: `nowrap` (افتراضي)، `wrap`، `wrap-reverse`.
  • `justify-content` (محاذاة المحتوى): يحدد كيفية توزيع عناصر Flex على طول المحور الرئيسي. القيم المحتملة: `flex-start` (افتراضي)، `flex-end`، `center`، `space-between`، `space-around`، `space-evenly`.
  • `align-items` (محاذاة العناصر): يحدد كيفية محاذاة عناصر Flex على طول المحور الفرعي. القيم المحتملة: `stretch` (افتراضي)، `flex-start`، `flex-end`، `center`، `baseline`.
  • `align-content` (محاذاة المحتوى): يحدد كيفية توزيع الخطوط (عند استخدام `flex-wrap: wrap`) على طول المحور الفرعي.
خصائص حاوية 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` محاذاة الخطوط على المحور الفرعي `stretch`, `flex-start`, `flex-end`, `center`, `space-between`, `space-around`

خصائص عناصر Flex

يمكنك أيضًا التحكم في سلوك عناصر Flex الفردية باستخدام خصائص CSS التالية:

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

أمثلة عملية

مثال 1: إنشاء شريط تنقل أفقي

.navbar {
  display: flex;
  background-color: #333;
  overflow: hidden;
}

.navbar a {
  float: left;
  display: block;
  color: white;
  text-align: center;
  padding: 14px 16px;
  text-decoration: none;
}

.navbar a:hover {
  background-color: #ddd;
  color: black;
}

مثال 2: إنشاء تخطيط عمودي باستخدام `flex-direction: column`

.container {
  display: flex;
  flex-direction: column;
  height: 300px;
}

.item {
  flex: 1;
  background-color: lightblue;
  margin: 5px;
}

Flexbox والتصميم المتجاوب

Flexbox هو أداة قوية لإنشاء تصميمات متجاوبة. القدرة على تغيير اتجاه Flex (`flex-direction`) وتوزيع المساحة (`justify-content` و `align-items`) تجعل من السهل تكييف تصميمك مع أحجام شاشات مختلفة. بالإضافة إلى ذلك، يمكن استخدام استعلامات الوسائط لتطبيق أنماط Flexbox مختلفة بناءً على حجم الشاشة.

مقارنة بين Flexbox و Grid

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

أدوات مفيدة لتعلم Flexbox

استراتيجيات تداول ذات صلة (للإشارة إلى أهمية التكيف والمرونة)

التحليل الفني وحجم التداول (للإشارة إلى أهمية فهم الديناميكيات)

خاتمة

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

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

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

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

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

Баннер