Flex-basis: Difference between revisions

From binaryoption
Jump to navigation Jump to search
Баннер1
(@pipegas_WP)
 
(@CategoryBot: Обновлена категория)
 
(One intermediate revision by the same user not shown)
Line 1: Line 1:
== Flex-basis: دليل شامل للمبتدئين ==
=== Flex Basis: دليل شامل للمبتدئين ===


'''Flex-basis''' هي خاصية أساسية في نظام [[CSS Flexbox]]، وهي تحدد الحجم الأولي لعنصر مرن (flex item) قبل توزيع المساحة المتبقية. فهم هذه الخاصية أمر بالغ الأهمية لإتقان تخطيطات الـ Flexbox المرنة والمتجاوبة. في هذا المقال، سنستكشف مفهوم الـ flex-basis بالتفصيل، مع أمثلة عملية وشرح لكيفية استخدامها لتحقيق تخطيطات ويب فعالة.
'''مقدمة'''


== ما هو Flex-basis؟ ==
في عالم تصميم الويب الحديث، تلعب '''تخطيطات فليكس بوكس''' (Flexbox Layout) دورًا حاسمًا في إنشاء واجهات مستجيبة ومرنة. أحد المكونات الأساسية في فليكس بوكس هو خاصية '''flex-basis'''، والتي تحدد الحجم الأولي للعناصر داخل حاوية فليكس. يهدف هذا المقال إلى تقديم شرح مفصل لخاصية flex-basis للمبتدئين، مع التركيز على كيفية عملها، وأنواع القيم التي تقبلها، وكيفية استخدامها بشكل فعال في تصميم الويب.


ببساطة، الـ flex-basis يحدد الحجم الأساسي الذي يجب أن يشغله العنصر المرن داخل حاوية الـ flexbox. يمكن أن تكون قيمة الـ flex-basis أي قيمة صالحة لحجم CSS، مثل:
== ما هي خاصية flex-basis؟ ==


'''الطول:''' `px` (بكسل)، `em` (حرف m)، `rem` (حرف m بالنسبة لعنصر الجذر)، `pt` (نقطة).
'''Flex-basis''' هي خاصية '''CSS''' تحدد الحجم الأولي للعنصر المرن (Flex Item) قبل توزيع المساحة المتبقية في حاوية فليكس (Flex Container). بمعنى آخر، هي القيمة الأولية التي يبدأ بها العنصر في احتلال المساحة. إذا كانت المساحة المتاحة في الحاوية تتجاوز مجموع قيم flex-basis لجميع العناصر، فسيتم توزيع المساحة المتبقية وفقًا لقيم خاصيتي '''flex-grow''' و '''flex-shrink'''.
'''النسبة المئوية:''' نسبة مئوية من عرض حاوية الـ flexbox.
'''auto:''' القيمة الافتراضية. تسمح للمحتوى بتحديد حجم العنصر المرن.
'''content:''' يشبه `auto`، ولكنه يفضل حجم المحتوى.


الفرق الرئيسي بين الـ flex-basis وخصائص الحجم الأخرى مثل `width` و `height` هو أن الـ flex-basis تؤثر على كيفية توزيع المساحة المتبقية داخل حاوية الـ flexbox، بينما `width` و `height` تحددان الحجم المطلق للعنصر.
== قيم خاصية flex-basis ==


== كيفية عمل Flex-basis ==
تقبل خاصية flex-basis مجموعة متنوعة من القيم، بما في ذلك:


عندما تقوم بتعيين `display: flex` أو `display: inline-flex` لحاوية، فإن العناصر المباشرة التابعة لها (العناصر المرنة) تخضع لقواعد الـ Flexbox. تحدد الـ flex-basis الحجم الأولي لكل عنصر مرن. بعد ذلك، يتم توزيع أي مساحة إضافية متاحة في الحاوية (بناءً على خصائص مثل `flex-grow` و `flex-shrink` و `flex-basis`) لتغيير حجم العناصر المرنة.
* '''auto:''' هذه هي القيمة الافتراضية. يعني أن حجم العنصر يعتمد على محتواه. إذا كان العنصر يحتوي على نص طويل، فسيكون عرضه مساويًا لعرض النص. إذا كان العنصر فارغًا، فسيكون عرضه صفرًا.
* '''0:'''  يجعل العنصر يتقلص إلى الحد الأدنى الممكن دون أن ينهار. غالبًا ما يستخدم مع '''flex-grow''' لتوزيع المساحة بالتساوي بين العناصر.
* '''length (مثل 100px, 20em):'''  يحدد حجم العنصر بوحدة قياس محددة.
* '''percentage (مثل 50%, 25%):''' يحدد حجم العنصر كنسبة مئوية من حجم حاوية فليكس. يجب أن يكون للعنصر '''width''' محددة إذا تم استخدام نسبة مئوية.
* '''content:'''  تعتمد على محتوى العنصر، مشابهة لقيمة '''auto'''، ولكنها قد تتصرف بشكل مختلف في بعض الحالات.


مثال:
=== مثال توضيحي ===
 
لنأخذ مثالاً بسيطًا:


```css
```css
Line 25: Line 28:
}
}


.item1 {
.item {
   flex-basis: 200px;
   flex-basis: 200px;
}
   background-color: lightblue;
 
  border: 1px solid black;
.item2 {
   padding: 10px;
   flex-basis: auto;
}
 
.item3 {
   flex-basis: 50%;
}
}
```
```


في هذا المثال:
في هذا المثال، يتم تعيين خاصية flex-basis لكل عنصر داخل الحاوية إلى 200 بكسل. هذا يعني أن كل عنصر سيبدأ باحتلال عرض قدره 200 بكسل. إذا كانت الحاوية أوسع من 600 بكسل (200px * 3 عناصر)، فسيتم توزيع المساحة المتبقية وفقًا لقيم flex-grow و flex-shrink.
 
*  `item1` سيشغل 200 بكسل كحجم أساسي.
*  `item2` سيشغل حجمًا يعتمد على محتواه.
*   `item3` سيشغل 50% من عرض الحاوية كحجم أساسي.


== استخدامات Flex-basis ==
== flex-basis وعلاقته بـ flex-grow و flex-shrink ==


'''إنشاء تخطيطات متجاوبة:'''  باستخدام النسب المئوية للـ flex-basis، يمكنك إنشاء تخطيطات تتكيف مع أحجام الشاشات المختلفة.
خاصية '''flex-basis''' تعمل جنبًا إلى جنب مع '''flex-grow''' و '''flex-shrink''' لتحديد كيفية توزيع المساحة داخل حاوية فليكس.
'''تحديد أحجام أولية للعناصر:''' يمكنك تحديد أحجام أولية محددة للعناصر المرنة، ثم السماح لـ Flexbox بتوزيع المساحة المتبقية.
'''إنشاء شبكات مرنة:''' يمكنك استخدام الـ flex-basis لإنشاء شبكات مرنة تتكيف مع محتوى العناصر.
*  '''التحكم في توزيع المساحة:''' بالتزامن مع خصائص `flex-grow` و `flex-shrink`، تسمح لك الـ flex-basis بالتحكم الدقيق في كيفية توزيع المساحة بين العناصر المرنة.


== Flex-basis و خصائص Flex الأخرى ==
* '''flex-grow:''' تحدد مقدار المساحة الإضافية التي يجب أن يحتلها العنصر إذا كانت المساحة المتاحة في الحاوية تتجاوز مجموع قيم flex-basis.
* '''flex-shrink:''' تحدد مقدار المساحة التي يجب أن يتقلص بها العنصر إذا كانت المساحة المتاحة في الحاوية أقل من مجموع قيم flex-basis.


الـ flex-basis تعمل جنبًا إلى جنب مع خصائص Flex الأخرى لتوفير تحكم كامل في التخطيط:
لتبسيط الأمر، يمكننا التفكير في flex-basis على أنها الحجم الأولي، بينما flex-grow و flex-shrink تحددان كيفية التعامل مع المساحة الزائدة أو الناقصة.


*  '''flex-grow:''' يحدد مقدار المساحة الإضافية التي يجب أن يشغلها العنصر المرن مقارنة بالعناصر الأخرى. [[Flex-grow]]
== استخدامات flex-basis في التصميم ==
*  '''flex-shrink:''' يحدد مقدار المساحة التي يجب أن يتقلصها العنصر المرن إذا كانت الحاوية صغيرة جدًا. [[Flex-shrink]]
*  '''flex:''' اختصار لـ `flex-grow` و `flex-shrink` و `flex-basis`. [[Flex]]
*  '''align-items:''' يحدد كيفية محاذاة العناصر المرنة على طول المحور العرضي. [[Align-items]]
*  '''justify-content:''' يحدد كيفية محاذاة العناصر المرنة على طول المحور الرئيسي. [[Justify-content]]


== أمثلة عملية ==
* '''إنشاء تخطيطات متساوية الأبعاد:''' باستخدام flex-basis: 0 و flex-grow: 1، يمكننا توزيع المساحة بالتساوي بين العناصر.
* '''إنشاء تخطيطات ذات أعمدة متغيرة:'''  باستخدام flex-basis مع قيم مختلفة، يمكننا إنشاء أعمدة ذات أحجام مختلفة.
* '''إنشاء عناصر ذات أحجام ثابتة:''' باستخدام flex-basis مع قيمة محددة (مثل 100px)، يمكننا التأكد من أن العنصر يحتل حجمًا ثابتًا بغض النظر عن حجم الحاوية.
* '''التصميم المستجيب:''' يمكن استخدام flex-basis مع '''وحدات نسبية''' (مثل % أو em) لإنشاء تخطيطات تتكيف مع أحجام الشاشات المختلفة.


{| class="wikitable"
== مقارنة بين flex-basis و width ==
|+ أمثلة على استخدامات flex-basis
|-
| '''الكود CSS''' || '''الوصف''' || '''النتيجة'''
|-
| `flex-basis: 100px;` || يعين حجمًا أساسيًا ثابتًا قدره 100 بكسل للعنصر. || سيحتل العنصر 100 بكسل بغض النظر عن المحتوى أو المساحة المتاحة.
|-
| `flex-basis: 50%;` || يعين حجمًا أساسيًا بنسبة 50% من عرض الحاوية. || سيحتل العنصر نصف عرض الحاوية.
|-
| `flex-basis: auto;` || يسمح للمحتوى بتحديد حجم العنصر. || سيحتل العنصر المساحة اللازمة لعرض محتواه.
|-
| `flex-basis: 0;` ||  يمنع العنصر من احتلال أي مساحة أساسية. ||  يصبح العنصر "مرنًا" للغاية، ويعتمد حجمه بشكل كبير على `flex-grow` و `flex-shrink`.
|}


== اعتبارات مهمة ==
قد يتساءل البعض عن الفرق بين '''flex-basis''' و '''width'''. بشكل عام، عند استخدام flexbox، يتم تجاهل خاصية width للعناصر المرنة. flex-basis هي الخاصية التي تحدد الحجم الأولي للعنصر. ومع ذلك، يمكن استخدام width لتحديد الحد الأدنى أو الأقصى لحجم العنصر.


*  '''القيمة الافتراضية:''' إذا لم يتم تحديد `flex-basis`، فإنها تأخذ القيمة `auto`.
| الخاصية | الوظيفة |
*  '''التوافق:'''  Flexbox مدعوم على نطاق واسع في معظم المتصفحات الحديثة. [[توافق المتصفحات]]
|---|---|
*  '''التعقيد:'''  قد يكون فهم Flexbox معقدًا في البداية، ولكن مع الممارسة، ستتمكن من إتقانها. [[تعقيدات Flexbox]]
| width | تحدد عرض العنصر (غير فعال في حاويات فليكس افتراضياً) |
| flex-basis | تحدد الحجم الأولي للعنصر في حاوية فليكس |
| flex-grow | تحدد كيفية توزيع المساحة الإضافية |
| flex-shrink | تحدد كيفية تقليل حجم العنصر |


== موارد إضافية ==
== نصائح لاستخدام flex-basis ==


*   [[MDN Web Docs: flex-basis]]
* '''ابدأ بفهم أساسيات فليكس بوكس:'''  قبل استخدام flex-basis، تأكد من أنك تفهم المفاهيم الأساسية لفليكس بوكس، مثل الحاويات والعناصر وخصائص التوزيع. [[فليكس بوكس]]
*   [[CSS Tricks: A Complete Guide to Flexbox]]
* '''استخدم وحدات نسبية:'''  لإنشاء تخطيطات مستجيبة، استخدم وحدات نسبية (مثل % أو em) بدلاً من وحدات ثابتة (مثل px). [[التصميم المستجيب]]
*   [[W3Schools: CSS Flexbox]]
* '''اختبر تخطيطاتك:'''  تأكد من اختبار تخطيطاتك على مختلف أحجام الشاشات والأجهزة للتأكد من أنها تعمل بشكل صحيح. [[اختبار التوافق]]
* '''استخدم أدوات المطور:'''  استخدم أدوات المطور في متصفحك لفحص تخطيطات فليكس بوكس وتعديل قيم flex-basis و flex-grow و flex-shrink لمعرفة كيفية تأثيرها على التخطيط. [[أدوات المطور]]


== استراتيجيات تداول الخيارات الثنائية وتحليل البيانات ذات الصلة ==
== روابط لمزيد من المعلومات ==


*   [[استراتيجية مارتينجال]]
* [[CSS Flexbox]]
*   [[استراتيجية المضاعفة]]
* [[Flex Grow]]
*   [[استراتيجية المتوسط المتحرك]]
* [[Flex Shrink]]
*   [[استراتيجية بولينجر باند]]
* [[Flex Wrap]]
*   [[استراتيجية الاختراق]]
* [[Align Items]]
*   [[تحليل الشموع اليابانية]]
* [[Justify Content]]
*   [[تحليل الاتجاه]]
* [[CSS Grid]]
*   [[تحليل الدعم والمقاومة]]
* [[Responsive Web Design]]
*   [[تحليل حجم التداول]]
* [[CSS Units]]
*   [[مؤشر القوة النسبية (RSI)]]
* [[CSS Layout]]
*  [[مؤشر الماكد (MACD)]]
*  [[مؤشر ستوكاستيك]]
*  [[التحليل الفني]]
*  [[التحليل الأساسي]]
*  [[إدارة المخاطر في الخيارات الثنائية]]


== روابط ذات صلة ==
== استراتيجيات تداول الخيارات الثنائية ذات الصلة (للمبتدئين) ==


* [[CSS]]
* [[استراتيجية المتابعة]]
* [[Flexbox]]
* [[استراتيجية اختراق النطاق]]
* [[HTML]]
* [[استراتيجية بينالي]]
* [[تخطيط الويب]]
* [[استراتيجية 60 ثانية]]
* [[تصميم الويب المتجاوب]]
* [[استراتيجية الاتجاه]]
* [[CSS3]]
* [[تحليل الشموع اليابانية]]
* [[تنسيق CSS]]
* [[مؤشر المتوسط المتحرك]]
* [[خصائص CSS]]
* [[مؤشر القوة النسبية (RSI)]]
* [[عناصر HTML]]
* [[مؤشر الماكد (MACD)]]
* [[تطوير الويب]]
* [[تحليل فيبوناتشي]]
* [[واجهة المستخدم]]
* [[تحليل حجم التداول]]
* [[تجربة المستخدم]]
* [[إدارة المخاطر في الخيارات الثنائية]]
* [[JavaScript]]
* [[التداول النفسي]]
* [[DOM]]
* [[التحليل الأساسي]]
* [[تطبيقات الويب]]
* [[التحليل الفني المتقدم]]


[[Category: CSS]]


== ابدأ التداول الآن ==
== ابدأ التداول الآن ==
Line 136: Line 113:
✓ تنبيهات باتجاهات السوق
✓ تنبيهات باتجاهات السوق
✓ مواد تعليمية للمبتدئين
✓ مواد تعليمية للمبتدئين
[[Category:CSS]]

Latest revision as of 14:27, 6 May 2025

Flex Basis: دليل شامل للمبتدئين

مقدمة

في عالم تصميم الويب الحديث، تلعب تخطيطات فليكس بوكس (Flexbox Layout) دورًا حاسمًا في إنشاء واجهات مستجيبة ومرنة. أحد المكونات الأساسية في فليكس بوكس هو خاصية flex-basis، والتي تحدد الحجم الأولي للعناصر داخل حاوية فليكس. يهدف هذا المقال إلى تقديم شرح مفصل لخاصية flex-basis للمبتدئين، مع التركيز على كيفية عملها، وأنواع القيم التي تقبلها، وكيفية استخدامها بشكل فعال في تصميم الويب.

ما هي خاصية flex-basis؟

Flex-basis هي خاصية CSS تحدد الحجم الأولي للعنصر المرن (Flex Item) قبل توزيع المساحة المتبقية في حاوية فليكس (Flex Container). بمعنى آخر، هي القيمة الأولية التي يبدأ بها العنصر في احتلال المساحة. إذا كانت المساحة المتاحة في الحاوية تتجاوز مجموع قيم flex-basis لجميع العناصر، فسيتم توزيع المساحة المتبقية وفقًا لقيم خاصيتي flex-grow و flex-shrink.

قيم خاصية flex-basis

تقبل خاصية flex-basis مجموعة متنوعة من القيم، بما في ذلك:

  • auto: هذه هي القيمة الافتراضية. يعني أن حجم العنصر يعتمد على محتواه. إذا كان العنصر يحتوي على نص طويل، فسيكون عرضه مساويًا لعرض النص. إذا كان العنصر فارغًا، فسيكون عرضه صفرًا.
  • 0: يجعل العنصر يتقلص إلى الحد الأدنى الممكن دون أن ينهار. غالبًا ما يستخدم مع flex-grow لتوزيع المساحة بالتساوي بين العناصر.
  • length (مثل 100px, 20em): يحدد حجم العنصر بوحدة قياس محددة.
  • percentage (مثل 50%, 25%): يحدد حجم العنصر كنسبة مئوية من حجم حاوية فليكس. يجب أن يكون للعنصر width محددة إذا تم استخدام نسبة مئوية.
  • content: تعتمد على محتوى العنصر، مشابهة لقيمة auto، ولكنها قد تتصرف بشكل مختلف في بعض الحالات.

مثال توضيحي

لنأخذ مثالاً بسيطًا:

```css .container {

 display: flex;

}

.item {

 flex-basis: 200px;
 background-color: lightblue;
 border: 1px solid black;
 padding: 10px;

} ```

في هذا المثال، يتم تعيين خاصية flex-basis لكل عنصر داخل الحاوية إلى 200 بكسل. هذا يعني أن كل عنصر سيبدأ باحتلال عرض قدره 200 بكسل. إذا كانت الحاوية أوسع من 600 بكسل (200px * 3 عناصر)، فسيتم توزيع المساحة المتبقية وفقًا لقيم flex-grow و flex-shrink.

flex-basis وعلاقته بـ flex-grow و flex-shrink

خاصية flex-basis تعمل جنبًا إلى جنب مع flex-grow و flex-shrink لتحديد كيفية توزيع المساحة داخل حاوية فليكس.

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

لتبسيط الأمر، يمكننا التفكير في flex-basis على أنها الحجم الأولي، بينما flex-grow و flex-shrink تحددان كيفية التعامل مع المساحة الزائدة أو الناقصة.

استخدامات flex-basis في التصميم

  • إنشاء تخطيطات متساوية الأبعاد: باستخدام flex-basis: 0 و flex-grow: 1، يمكننا توزيع المساحة بالتساوي بين العناصر.
  • إنشاء تخطيطات ذات أعمدة متغيرة: باستخدام flex-basis مع قيم مختلفة، يمكننا إنشاء أعمدة ذات أحجام مختلفة.
  • إنشاء عناصر ذات أحجام ثابتة: باستخدام flex-basis مع قيمة محددة (مثل 100px)، يمكننا التأكد من أن العنصر يحتل حجمًا ثابتًا بغض النظر عن حجم الحاوية.
  • التصميم المستجيب: يمكن استخدام flex-basis مع وحدات نسبية (مثل % أو em) لإنشاء تخطيطات تتكيف مع أحجام الشاشات المختلفة.

مقارنة بين flex-basis و width

قد يتساءل البعض عن الفرق بين flex-basis و width. بشكل عام، عند استخدام flexbox، يتم تجاهل خاصية width للعناصر المرنة. flex-basis هي الخاصية التي تحدد الحجم الأولي للعنصر. ومع ذلك، يمكن استخدام width لتحديد الحد الأدنى أو الأقصى لحجم العنصر.

| الخاصية | الوظيفة | |---|---| | width | تحدد عرض العنصر (غير فعال في حاويات فليكس افتراضياً) | | flex-basis | تحدد الحجم الأولي للعنصر في حاوية فليكس | | flex-grow | تحدد كيفية توزيع المساحة الإضافية | | flex-shrink | تحدد كيفية تقليل حجم العنصر |

نصائح لاستخدام flex-basis

  • ابدأ بفهم أساسيات فليكس بوكس: قبل استخدام flex-basis، تأكد من أنك تفهم المفاهيم الأساسية لفليكس بوكس، مثل الحاويات والعناصر وخصائص التوزيع. فليكس بوكس
  • استخدم وحدات نسبية: لإنشاء تخطيطات مستجيبة، استخدم وحدات نسبية (مثل % أو em) بدلاً من وحدات ثابتة (مثل px). التصميم المستجيب
  • اختبر تخطيطاتك: تأكد من اختبار تخطيطاتك على مختلف أحجام الشاشات والأجهزة للتأكد من أنها تعمل بشكل صحيح. اختبار التوافق
  • استخدم أدوات المطور: استخدم أدوات المطور في متصفحك لفحص تخطيطات فليكس بوكس وتعديل قيم flex-basis و flex-grow و flex-shrink لمعرفة كيفية تأثيرها على التخطيط. أدوات المطور

روابط لمزيد من المعلومات

استراتيجيات تداول الخيارات الثنائية ذات الصلة (للمبتدئين)


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

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

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

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

Баннер