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، أو "صندوق مرن" باللغة العربية، هو نموذج تخطيط قوي في [[تطوير الويب]] يتيح لك تصميم واجهات مستخدم معقدة بسهولة وبكفاءة. يهدف هذا المقال إلى تقديم مقدمة شاملة للمبتدئين حول Flexbox، مع شرح مفاهيمه الأساسية وكيفية استخدامه في مشاريعك.


== ما هو فليكس بوكس؟ ==
== ما هو Flexbox؟ ==


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


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


يتكون فليكس بوكس من عنصرين رئيسيين:
== المفاهيم الأساسية في Flexbox ==


*  '''حاوية فليكس (Flex Container):'''  هي العنصر الأب الذي يحتوي على العناصر المراد ترتيبها باستخدام فليكس بوكس. يتم تحديد الحاوية عن طريق تعيين الخاصية `display: flex;` أو `display: inline-flex;` للعنصر.
لفهم Flexbox، يجب أن تكون على دراية بالمفاهيم الرئيسية التالية:
*  '''عناصر فليكس (Flex Items):'''  هي العناصر الأبناء المباشرة لحاوية فليكس. يتم ترتيب هذه العناصر وتوزيعها داخل الحاوية وفقًا لخصائص فليكس بوكس المحددة.


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


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


*  '''`flex-direction` :''' يحدد اتجاه ترتيب العناصر داخل الحاوية. يمكن أن تكون قيمته `row` (افتراضي، أفقي من اليسار إلى اليمين)، `row-reverse` (أفقي من اليمين إلى اليسار)، `column` (عمودي من الأعلى إلى الأسفل)، أو `column-reverse` (عمودي من الأسفل إلى الأعلى).
هناك العديد من خصائص Flex Container التي يمكنك استخدامها للتحكم في تخطيط العناصر المرنة. بعض الخصائص الأكثر شيوعًا تشمل:
*  '''`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-wrap: wrap`).


== الخصائص الأساسية لعناصر فليكس ==
* '''flex-direction:''' يحدد اتجاه المحور الرئيسي. القيم المتاحة هي `row` (أفقي، افتراضي)، `column` (عمودي)، `row-reverse` (أفقي عكسي)، و `column-reverse` (عمودي عكسي).
* '''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:''' يحدد كيفية توزيع العناصر المرنة عندما يكون هناك عدة أسطر.


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


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


== مثال عملي ==
== مثال عملي ==


```html
```css
<div style="display: flex; flex-direction: row; justify-content: space-between;">
.container {
   <div style="width: 100px; height: 100px; background-color: red;"></div>
  display: flex;
   <div style="width: 100px; height: 100px; background-color: green;"></div>
  flex-direction: row;
   <div style="width: 100px; height: 100px; background-color: blue;"></div>
  justify-content: space-between;
</div>
   align-items: center;
}
 
.item {
   width: 100px;
  height: 50px;
   background-color: lightblue;
}
```
```


في هذا المثال، قمنا بإنشاء حاوية فليكس تحتوي على ثلاثة عناصر. تم تعيين `flex-direction` على `row` لترتيب العناصر أفقيًا، وتم تعيين `justify-content` على `space-between` لتوزيع العناصر بحيث تكون المسافة بينها متساوية.
في هذا المثال، قمنا بإنشاء حاوية Flex (`.container`) تحتوي على ثلاثة عناصر مرنة (`.item`). تم تعيين `flex-direction` على `row` لترتيب العناصر أفقيًا، و `justify-content` على `space-between` لتوزيع العناصر بالتساوي مع مسافة بينها، و `align-items` على `center` لمحاذاة العناصر عموديًا في المنتصف.
 
== متى تستخدم فليكس بوكس؟ ==
 
فليكس بوكس مثالي للتخطيطات التالية:
 
*  '''شريط التنقل (Navigation Bar):''' ترتيب عناصر شريط التنقل وتوزيعها بسهولة.
*  '''التخطيطات ذات الأعمدة (Column Layouts):''' إنشاء تخطيطات ذات أعمدة متساوية أو متفاوتة الحجم.
*  '''توسيط العناصر (Centering Elements):''' توسيط العناصر أفقيًا وعموديًا بسهولة.
*  '''التخطيطات المتجاوبة (Responsive Layouts):''' إنشاء تخطيطات تتكيف مع أحجام الشاشات المختلفة.
 
== بدائل فليكس بوكس ==


*  [[CSS Grid]]: نموذج تخطيط ثنائي الأبعاد يوفر تحكمًا أكبر في التخطيطات المعقدة.
== متى تستخدم Flexbox؟ ==
*  [[Float]]: نموذج تخطيط قديم يعتمد على تعويم العناصر.
*  [[Position]]: نموذج تخطيط يعتمد على تحديد موضع العناصر.


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


*   [[استراتيجية 60 ثانية]]
* إنشاء أشرطة التنقل.
*   [[استراتيجية مارتينجال]]
* إنشاء تخطيطات الصفحة الرئيسية.
*   [[استراتيجية المضاعفة]]
* إنشاء نماذج.
*   [[استراتيجية الاختراق]]
* إنشاء بطاقات.
*   [[استراتيجية الاتجاه]]
* إنشاء تخطيطات متجاوبة.
*  [[استراتيجية التداول بناءً على الأخبار]]
*  [[استراتيجية التداول بناءً على المؤشرات]]


== تحليل فني وحجم التداول ==
== مصادر إضافية ==


*   [[تحليل الشموع اليابانية]]
* [[CSS Flexbox]] (MDN Web Docs)
*   [[مؤشر المتوسط المتحرك]]
* [[Flexbox Froggy]] (لعبة تعليمية)
*   [[مؤشر RSI]]
* [[CSS Tricks Flexbox Complete Guide]]
*  [[مؤشر MACD]]
*  [[مؤشر بولينجر باندز]]
*  [[تحليل حجم التداول]]
*  [[مستويات الدعم والمقاومة]]
*  [[خطوط الاتجاه]]
*  [[أنماط الرسوم البيانية]]


== موارد إضافية ==
== روابط ذات صلة بالتحليل الفني والاستراتيجيات ==


*   [[MDN Web Docs - Flexbox]]: <https://developer.mozilla.org/en-US/docs/Web/CSS/CSS_Flexible_Box_Layout>
* [[الشموع اليابانية]]
*   [[CSS-Tricks - A Complete Guide to Flexbox]]: <https://css-tricks.com/snippets/css/a-guide-to-flexbox/>
* [[مؤشر المتوسط المتحرك]]
*   [[Flexbox Froggy]]: <https://flexboxfroggy.com/>
* [[مؤشر القوة النسبية (RSI)]]
* [[خطوط الاتجاه]]
* [[مستويات الدعم والمقاومة]]
* [[نموذج الرأس والكتفين]]
* [[استراتيجية الاختراق]]
* [[استراتيجية ارتداد]]
* [[استراتيجية التداول المتأرجح]]
* [[استراتيجية المتابعة]]
* [[تحليل حجم التداول]]
* [[مؤشر MACD]]
* [[مؤشر بولينجر باند]]
* [[التحليل الموجي لإليوت]]
* [[تداول الخيارات الثنائية]]


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


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


[[Category:الفئة:تخطيط_شبكة_الويب]]
[[Category:الفئة:تطوير_الويب]]


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

Revision as of 21:14, 26 March 2025

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

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

ما هو Flexbox؟

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

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

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

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

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

خصائص Flex Container الأساسية

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

  • flex-direction: يحدد اتجاه المحور الرئيسي. القيم المتاحة هي `row` (أفقي، افتراضي)، `column` (عمودي)، `row-reverse` (أفقي عكسي)، و `column-reverse` (عمودي عكسي).
  • 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: يحدد كيفية توزيع العناصر المرنة عندما يكون هناك عدة أسطر.

خصائص Flex Item الأساسية

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

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

مثال عملي

```css .container {

 display: flex;
 flex-direction: row;
 justify-content: space-between;
 align-items: center;

}

.item {

 width: 100px;
 height: 50px;
 background-color: lightblue;

} ```

في هذا المثال، قمنا بإنشاء حاوية Flex (`.container`) تحتوي على ثلاثة عناصر مرنة (`.item`). تم تعيين `flex-direction` على `row` لترتيب العناصر أفقيًا، و `justify-content` على `space-between` لتوزيع العناصر بالتساوي مع مسافة بينها، و `align-items` على `center` لمحاذاة العناصر عموديًا في المنتصف.

متى تستخدم Flexbox؟

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

  • إنشاء أشرطة التنقل.
  • إنشاء تخطيطات الصفحة الرئيسية.
  • إنشاء نماذج.
  • إنشاء بطاقات.
  • إنشاء تخطيطات متجاوبة.

مصادر إضافية

روابط ذات صلة بالتحليل الفني والاستراتيجيات

خاتمة

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

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

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

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

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

Баннер