Flex-shrink: Difference between revisions

From binaryoption
Jump to navigation Jump to search
Баннер1
(@pipegas_WP)
 
(@pipegas_WP)
 
Line 1: Line 1:
== Flex-shrink: دليل شامل للمبتدئين في تصميم الويب المرن ==
== فهم خاصية Flex-shrink في تصميم الشبكات المرنة ==


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


== ما هو Flexbox؟ ==
== ما هي خاصية Flex-shrink؟ ==


قبل الغوص في تفاصيل flex-shrink، من المهم فهم أساسيات [[Flexbox]]. Flexbox هو نموذج تخطيط أحادي البعد (إما صف أو عمود) يوفر طريقة فعالة لتوزيع المساحة بين العناصر داخل حاوية. يتيح لك التحكم في المحاذاة والترتيب والحجم للعناصر الفرعية (المعروفة باسم [[Flex Items]]) بسهولة. يختلف Flexbox عن أنماط التخطيط التقليدية مثل [[float]] و [[position]].
ببساطة، تحدد خاصية ''flex-shrink'' مقدار المساحة التي يمكن أن يتقلص بها عنصر [[Flex Item]] داخل حاوية [[Flex Container]] عندما لا يتسع المحتوى داخل الحاوية. القيمة الافتراضية لـ ''flex-shrink'' هي 1، مما يعني أن العناصر ستتقلص بنسبة متساوية لملء المساحة المتاحة.  إذا كانت القيمة أكبر من 1، فسيتقلص العنصر بشكل أكبر. وإذا كانت القيمة 0، فلن يتقلص العنصر على الإطلاق.


== فهم خاصية Flex-shrink ==
== كيفية عمل Flex-shrink ==


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


'''القيمة الافتراضية:''' القيمة الافتراضية لـ flex-shrink هي `1`. هذا يعني أن جميع العناصر المرنة ستتقلص بنفس النسبة لتناسب المساحة المتاحة.
**Flex Container:** العنصر الذي يحتوي على [[Flex Items]].
'''القيمة 0:''' إذا تم تعيين flex-shrink على `0`، فلن يتقلص العنصر المرن على الإطلاق. سيحتفظ بحجمه الأولي، وقد يؤدي ذلك إلى تجاوز الحاوية المرنة.
*  **Flex Items:** العناصر المباشرة داخل [[Flex Container]].
'''القيمة أكبر من 1:''' إذا تم تعيين flex-shrink على قيمة أكبر من `1`، فسيتقلص العنصر المرن بمعدل أسرع من العناصر الأخرى ذات قيمة flex-shrink الافتراضية (1).
**Flex Direction:** يحدد اتجاه ترتيب [[Flex Items]] (صف أفقي أو عمود رأسي).
*  **Flex Basis:** يحدد الحجم الأولي للعنصر قبل توزيع المساحة المتاحة.
**Flex Grow:** يحدد مقدار المساحة التي يمكن أن يتوسع بها العنصر.


== كيفية عمل Flex-shrink: مثال عملي ==
عندما تكون المساحة المتاحة في [[Flex Container]] أقل من مجموع أحجام [[Flex Items]] (بناءً على قيم ''flex-basis'' الخاصة بهم)، فإن Flexbox يستخدم ''flex-shrink'' لتحديد كيفية توزيع المساحة المتاحة وتقليل حجم العناصر.


لنفترض أن لديك حاوية مرنة تحتوي على ثلاثة عناصر مرنة، ولكل منها عرض أولي يبلغ 100 بكسل.  إذا كانت الحاوية المرنة بعرض 250 بكسل، فستتجاوز العناصر الحاوية.  في هذه الحالة، سيتم تطبيق flex-shrink لتقليل حجم العناصر لتناسب الحاوية.
== صيغة Flex-shrink ==


إذا كانت جميع العناصر لديها flex-shrink بقيمة 1، فسيتم تقليل كل عنصر بالتساوي.  لحساب مقدار التقليل:
تُكتب خاصية ''flex-shrink'' كالتالي:


1.  '''إجمالي المساحة الزائدة:''' 300 بكسل (3 عناصر * 100 بكسل) - 250 بكسل (عرض الحاوية) = 50 بكسل
```css
2. '''مقدار التقليل لكل عنصر:''' 50 بكسل / 3 عناصر = 16.67 بكسل تقريبًا
flex-shrink: <number>;
```
 
حيث:
 
*   `<number>`: قيمة رقمية تحدد مقدار التقلص. القيم المسموح بها هي أرقام موجبة.


لذلك، سيتم تقليل كل عنصر إلى 83.33 بكسل (100 بكسل - 16.67 بكسل).
== أمثلة عملية ==


إذا تم تعيين flex-shrink على `0` لأحد العناصر، فلن يتقلص هذا العنصر، وسيتم توزيع المساحة الزائدة على العناصر الأخرى.
لنأخذ مثالاً بسيطاً:


== مثال كود CSS ==
```html
<div style="display: flex; width: 300px;">
  <div style="flex-basis: 100px; flex-shrink: 1;">العنصر 1</div>
  <div style="flex-basis: 100px; flex-shrink: 1;">العنصر 2</div>
  <div style="flex-basis: 100px; flex-shrink: 1;">العنصر 3</div>
</div>
```


```css
في هذا المثال، لدينا [[Flex Container]] بعرض 300 بكسل وثلاثة [[Flex Items]]، كل منها بعرض أولي 100 بكسل.  بما أن إجمالي العرض الأولي للعناصر (300 بكسل) يساوي عرض الحاوية، فلن يحدث أي تقلص.
.container {
 
  display: flex;
الآن، لنغير عرض الحاوية إلى 200 بكسل:
  width: 250px;
}


.item {
```html
   width: 100px;
<div style="display: flex; width: 200px;">
   height: 50px;
   <div style="flex-basis: 100px; flex-shrink: 1;">العنصر 1</div>
   background-color: lightblue;
   <div style="flex-basis: 100px; flex-shrink: 1;">العنصر 2</div>
}
   <div style="flex-basis: 100px; flex-shrink: 1;">العنصر 3</div>
</div>
```


.item1 {
في هذه الحالة، يجب أن يتقلص إجمالي عرض العناصر بمقدار 100 بكسل (300 - 200). بما أن جميع العناصر لديها قيمة ''flex-shrink'' مساوية لـ 1، سيتم توزيع هذا التقلص بالتساوي بين العناصر الثلاثة.  وبالتالي، سيتقلص كل عنصر بمقدار 33.33 بكسل تقريبًا، ليصبح عرضه النهائي 66.67 بكسل.
  flex-shrink: 0; /* لن يتقلص هذا العنصر */
}


.item2 {
الآن، دعنا نغير قيمة ''flex-shrink'' لأحد العناصر:
  flex-shrink: 1; /* سيتقلص هذا العنصر بنفس معدل العناصر الأخرى */
}


.item3 {
```html
   flex-shrink: 2; /* سيتقلص هذا العنصر بمعدل أسرع */
<div style="display: flex; width: 200px;">
}
   <div style="flex-basis: 100px; flex-shrink: 1;">العنصر 1</div>
  <div style="flex-basis: 100px; flex-shrink: 2;">العنصر 2</div>
  <div style="flex-basis: 100px; flex-shrink: 0;">العنصر 3</div>
</div>
```
```


في هذا المثال، العنصر `item1` لن يتقلص، بينما `item2` و `item3` سيتقلصان، مع تقلص `item3` بمعدل أسرع.
الآن، العنصر الثاني سيتقلص ضعف قدر ما يتقلصه العنصر الأول، بينما العنصر الثالث لن يتقلص على الإطلاق.


== العلاقة بين Flex-shrink و Flex-basis و Flex-grow ==
== متى تستخدم Flex-shrink؟ ==


لفهم flex-shrink بشكل كامل، من الضروري فهم العلاقة بينها وبين الخصائص الأخرى:
*  **تصميم واجهات المستخدم المتجاوبة:**  تتيح لك ''flex-shrink'' إنشاء تخطيطات تتكيف مع أحجام الشاشات المختلفة، مما يوفر تجربة مستخدم أفضل.
*  **التعامل مع المحتوى الديناميكي:**  إذا كان حجم المحتوى داخل [[Flex Items]] غير معروف مسبقًا، يمكن لـ ''flex-shrink'' أن يساعد في ضمان عدم تجاوز المحتوى لحدود الحاوية.
*  **تحسين تخطيط العناصر:**  يمكنك استخدام ''flex-shrink'' للتحكم في كيفية توزيع المساحة بين العناصر، مما يؤدي إلى تخطيط أكثر توازناً وجاذبية.


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


هذه الخصائص الثلاث تعمل معًا لتحديد كيفية توزيع المساحة بين العناصر المرنة.
''flex-shrink'' تعمل بالتنسيق مع خاصيتي ''flex-grow'' و ''flex-basis'' لتحديد كيفية توزيع المساحة داخل [[Flex Container]].  فهم هذه العلاقة أمر بالغ الأهمية لاستخدام Flexbox بفعالية.


== استخدامات عملية لـ Flex-shrink ==
| الخاصية      | الوظيفة                              | القيمة الافتراضية |
|--------------|---------------------------------------|-------------------|
| flex-basis  | الحجم الأولي للعنصر                  | auto              |
| flex-grow    | مقدار المساحة التي يمكن أن يتوسع بها العنصر | 0                |
| flex-shrink | مقدار المساحة التي يمكن أن يتقلص بها العنصر | 1                |


'''تصميم واجهات المستخدم المتجاوبة:''' يمكن استخدام flex-shrink لإنشاء تخطيطات تتكيف مع أحجام الشاشات المختلفة.
يمكن اختصار هذه الخصائص الثلاث في خاصية واحدة وهي ''flex'' باستخدام الصيغة التالية:
*  '''التحكم في أولوية العناصر:''' يمكن استخدام flex-shrink لتعيين أولوية العناصر، حيث يتم تقليل حجم العناصر ذات الأولوية المنخفضة أولاً.
 
*  '''إنشاء تخطيطات مرنة:''' يمكن استخدام flex-shrink لإنشاء تخطيطات مرنة تتكيف مع المحتوى المتغير.
```css
flex: <flex-grow> <flex-shrink> <flex-basis>;
```


== استراتيجيات تداول الخيارات الثنائية ذات الصلة (للمقارنة و الفهم) ==
== موارد إضافية ==


على الرغم من أن flex-shrink هي خاصية CSS، إلا أن فهم مفهوم توزيع الموارد يمكن أن يكون له أوجه تشابه مع استراتيجيات تداول الخيارات الثنائية. على سبيل المثال:
*  [[Flexbox Froggy]]: لعبة تعليمية تفاعلية لتعلم Flexbox.
*  [[CSS-Tricks Flexbox Complete Guide]]: دليل شامل لـ Flexbox.
*  [[MDN Web Docs Flexbox]]: وثائق رسمية لـ Flexbox من Mozilla Developer Network.


*  [[استراتيجية مارتينجال]]: توزيع المخاطر (مشابه لتوزيع المساحة في Flexbox).
== استراتيجيات تداول الخيارات الثنائية ذات الصلة ==
*  [[استراتيجية المتوسط المتحرك]]: التكيف مع التغيرات في السوق (مشابه لتكيف العناصر المرنة مع المساحة المتاحة).
*  [[استراتيجية الاختراق]]: تحديد نقاط الدخول والخروج (مشابه لتحديد حجم العناصر المرنة).
*  [[استراتيجية البولينجر باند]]: قياس التقلبات (مشابه لتقييم حجم العناصر المرنة).
*  [[استراتيجية التداول العكسي]]: توقع انعكاس الاتجاه (مشابه لتوقع تغيرات في المساحة المتاحة).


== التحليل الفني وتحليل حجم التداول ذي الصلة ==
*  [[استراتيجية الاختراق]]
*  [[استراتيجية المتوسطات المتحركة]]
*  [[استراتيجية البولينجر باند]]
*  [[استراتيجية مؤشر القوة النسبية]]
*  [[استراتيجية MACD]]
*  [[تداول الأخبار]]
*  [[تداول الاتجاه]]
*  [[تداول الاختراق]]
*  [[تداول الاختراق الكاذب]]
*  [[استراتيجية مارتينجال]]
*  [[استراتيجية فيبوناتشي]]
*  [[تداول النطاق]]
*  [[تداول التصحيح السعري]]
*  [[تداول المقاومة والدعم]]
*  [[تداول الشموع اليابانية]]


*  [[مؤشر القوة النسبية (RSI)]]: تحديد ظروف ذروة الشراء والبيع (مشابه لتحديد العناصر التي يجب تقليلها).
== التحليل الفني وحجم التداول ==
*  [[الماكد (MACD)]]: تحليل الاتجاهات (مشابه لتحديد كيفية توزيع المساحة).
*  [[الشموع اليابانية]]: التعرف على أنماط الأسعار (مشابه لفهم سلوك العناصر المرنة).
*  [[تحليل حجم التداول]]: تقييم قوة الاتجاه (مشابه لتقييم أهمية العناصر المرنة).
*  [[خطوط الدعم والمقاومة]]: تحديد مستويات الأسعار الرئيسية (مشابه لتحديد حدود العناصر المرنة).
*  [[نظرية الموجة إليوت]]: تحليل الأنماط الدورية (مشابه لتوقع تغيرات في المساحة المتاحة).
*  [[تحليل الفجوات السعرية]]: تحديد نقاط الاختراق المحتملة (مشابه لتحديد نقاط تجاوز العناصر للحاوية).
*  [[مؤشر ستوكاستيك]]: قياس الزخم (مشابه لتقييم سرعة تقلص العناصر).
*  [[مؤشر متوسط الاتجاه الحقيقي (ATR)]]: قياس التقلبات (مشابه لتقييم حجم التغيرات في العناصر المرنة).
*  [[تحليل فيبوناتشي]]: تحديد مستويات التصحيح (مشابه لتحديد النسب المثالية لتقليل العناصر).
*  [[مؤشر Parabolic SAR]]: تحديد نقاط الدخول والخروج (مشابه لتحديد حدود العناصر المرنة).
*  [[مؤشر Chaikin Money Flow]]: تحليل تدفق الأموال (مشابه لفهم كيفية توزيع المساحة).
*  [[تحليل أنماط الرسوم البيانية]]: التعرف على أنماط الأسعار (مشابه لفهم سلوك العناصر المرنة).
*  [[تحليل حجم أوامر السوق]]: تقييم قوة الاتجاه (مشابه لتقييم أهمية العناصر المرنة).
*  [[تحليل الدورة الاقتصادية]]: فهم تأثير العوامل الاقتصادية (مشابه لفهم تأثير العوامل الخارجية على العناصر المرنة).


== الخلاصة ==
*  [[التحليل الفني]]
*  [[حجم التداول]]
*  [[مؤشرات التداول]]
*  [[أنماط الشموع اليابانية]]
*  [[الرسم البياني]]


'''Flex-shrink''' هي أداة قوية في [[CSS Flexbox]] تتيح لك التحكم في كيفية تقليل حجم العناصر المرنة لتناسب المساحة المتاحة.  من خلال فهم كيفية عمل هذه الخاصية والعلاقة بينها وبين الخصائص الأخرى مثل flex-basis و flex-grow، يمكنك إنشاء تخطيطات ويب مرنة ومتجاوبة تلبي احتياجات المستخدمين المختلفين.  تذكر أن التجربة والممارسة هما المفتاح لإتقان Flexbox و flex-shrink.
== خاتمة ==


[[CSS]]
خاصية ''flex-shrink'' هي أداة قوية في تصميم [[شبكات الويب]] المرنة.  من خلال فهم كيفية عملها والعلاقة بينها وبين خصائص Flexbox الأخرى، يمكنك إنشاء تخطيطات متجاوبة وسهلة الصيانة.  التعمق في [[Flexbox]] سيفتح لك آفاقًا واسعة في تصميم [[واجهات المستخدم]] الحديثة.
[[Flexbox]]
[[Flex Container]]
[[Flex Items]]
[[Flex-basis]]
[[Flex-grow]]
[[CSS layout]]
[[Web design]]
[[Responsive web design]]
[[CSS properties]]
[[CSS modules]]
[[CSS frameworks]]
[[Bootstrap]]
[[Tailwind CSS]]
[[CSS Grid]]
[[Float (CSS)]]
[[Position (CSS)]]
[[CSS specificity]]
[[CSS inheritance]]
[[CSS selectors]]
[[CSS variables]]


[[Category:الفئة:CSS]]
[[Category:الفئة:تصميم_شبكة_الويب]]


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

Latest revision as of 22:18, 23 April 2025

فهم خاصية Flex-shrink في تصميم الشبكات المرنة

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

ما هي خاصية Flex-shrink؟

ببساطة، تحدد خاصية flex-shrink مقدار المساحة التي يمكن أن يتقلص بها عنصر Flex Item داخل حاوية Flex Container عندما لا يتسع المحتوى داخل الحاوية. القيمة الافتراضية لـ flex-shrink هي 1، مما يعني أن العناصر ستتقلص بنسبة متساوية لملء المساحة المتاحة. إذا كانت القيمة أكبر من 1، فسيتقلص العنصر بشكل أكبر. وإذا كانت القيمة 0، فلن يتقلص العنصر على الإطلاق.

كيفية عمل Flex-shrink

لفهم كيفية عمل flex-shrink، يجب فهم بعض المفاهيم الأساسية الأخرى في Flexbox:

  • **Flex Container:** العنصر الذي يحتوي على Flex Items.
  • **Flex Items:** العناصر المباشرة داخل Flex Container.
  • **Flex Direction:** يحدد اتجاه ترتيب Flex Items (صف أفقي أو عمود رأسي).
  • **Flex Basis:** يحدد الحجم الأولي للعنصر قبل توزيع المساحة المتاحة.
  • **Flex Grow:** يحدد مقدار المساحة التي يمكن أن يتوسع بها العنصر.

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

صيغة Flex-shrink

تُكتب خاصية flex-shrink كالتالي:

```css flex-shrink: <number>; ```

حيث:

  • `<number>`: قيمة رقمية تحدد مقدار التقلص. القيم المسموح بها هي أرقام موجبة.

أمثلة عملية

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

```html

العنصر 1
العنصر 2
العنصر 3

```

في هذا المثال، لدينا Flex Container بعرض 300 بكسل وثلاثة Flex Items، كل منها بعرض أولي 100 بكسل. بما أن إجمالي العرض الأولي للعناصر (300 بكسل) يساوي عرض الحاوية، فلن يحدث أي تقلص.

الآن، لنغير عرض الحاوية إلى 200 بكسل:

```html

العنصر 1
العنصر 2
العنصر 3

```

في هذه الحالة، يجب أن يتقلص إجمالي عرض العناصر بمقدار 100 بكسل (300 - 200). بما أن جميع العناصر لديها قيمة flex-shrink مساوية لـ 1، سيتم توزيع هذا التقلص بالتساوي بين العناصر الثلاثة. وبالتالي، سيتقلص كل عنصر بمقدار 33.33 بكسل تقريبًا، ليصبح عرضه النهائي 66.67 بكسل.

الآن، دعنا نغير قيمة flex-shrink لأحد العناصر:

```html

العنصر 1
العنصر 2
العنصر 3

```

الآن، العنصر الثاني سيتقلص ضعف قدر ما يتقلصه العنصر الأول، بينما العنصر الثالث لن يتقلص على الإطلاق.

متى تستخدم Flex-shrink؟

  • **تصميم واجهات المستخدم المتجاوبة:** تتيح لك flex-shrink إنشاء تخطيطات تتكيف مع أحجام الشاشات المختلفة، مما يوفر تجربة مستخدم أفضل.
  • **التعامل مع المحتوى الديناميكي:** إذا كان حجم المحتوى داخل Flex Items غير معروف مسبقًا، يمكن لـ flex-shrink أن يساعد في ضمان عدم تجاوز المحتوى لحدود الحاوية.
  • **تحسين تخطيط العناصر:** يمكنك استخدام flex-shrink للتحكم في كيفية توزيع المساحة بين العناصر، مما يؤدي إلى تخطيط أكثر توازناً وجاذبية.

العلاقة مع Flex-grow و Flex-basis

flex-shrink تعمل بالتنسيق مع خاصيتي flex-grow و flex-basis لتحديد كيفية توزيع المساحة داخل Flex Container. فهم هذه العلاقة أمر بالغ الأهمية لاستخدام Flexbox بفعالية.

| الخاصية | الوظيفة | القيمة الافتراضية | |--------------|---------------------------------------|-------------------| | flex-basis | الحجم الأولي للعنصر | auto | | flex-grow | مقدار المساحة التي يمكن أن يتوسع بها العنصر | 0 | | flex-shrink | مقدار المساحة التي يمكن أن يتقلص بها العنصر | 1 |

يمكن اختصار هذه الخصائص الثلاث في خاصية واحدة وهي flex باستخدام الصيغة التالية:

```css flex: <flex-grow> <flex-shrink> <flex-basis>; ```

موارد إضافية

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

التحليل الفني وحجم التداول

خاتمة

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

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

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

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

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

Баннер