مرحبًا يا من هناك! هل أنت مستعد للغوص في واحدة من أروع وأقوى الأدوات في CSS؟ اليوم، سنستكشف Flexbox. إذا كنت تواجه صعوبة في محاذاة العناصر أو توزيع المساحة بطريقة مرتبة وسريعة الاستجابة، فإن Flexbox هو صديقك المفضل الجديد.
Flexbox (تخطيط الصندوق المرن) هو نظام تخطيط أحادي البعد يسمح لك بالتحكم في محاذاة العناصر وتباعدها وتوزيعها داخل الحاوية - حتى عندما يكون حجم تلك العناصر غير معروف أو ديناميكي.
فكر في Flexbox كصندوق أدوات لإنشاء تخطيطات يمكن تمديدها أو تقليصها أو محاذاتها اعتمادًا على المساحة المتوفرة.
للبدء في استخدام Flexbox، ما عليك سوى ضبط العرض: flex على الحاوية. بمجرد القيام بذلك، تصبح جميع العناصر الفرعية المباشرة لتلك الحاوية عناصر مرنة، وستبدأ على الفور في التصرف بشكل مختلف.
Item 1Item 2Item 3
.flex-container { display: flex; }
الآن، جميع العناصر الموجودة داخل حاوية .flex هي عناصر مرنة ويمكن التعامل معها بسهولة.
افتراضيًا، يقوم Flexbox بترتيب العناصر في صف (أفقيًا)، ولكن ماذا لو كنت تريدها في عمود (عموديًا)؟ يمنحك Flexbox التحكم الكامل من خلال خاصية الاتجاه المرن.
.flex-container { display: flex; flex-direction: column; }
الآن، سيتم تكديس العناصر عموديًا!
لنفترض أن لديك ثلاثة عناصر، وتريد توزيعها بالتساوي في الحاوية الخاصة بك. هذا هو المكان الذي يكون فيه justify-content مفيدًا.
.flex-container { display: flex; justify-content: space-between; }
الآن، سيتم توزيع العناصر بالتساوي داخل الحاوية.
بينما يتحكم ضبط المحتوى في المحاذاة الأفقية، فإن عناصر المحاذاة تهتم بالمحاذاة الرأسية (أو على طول المحور العرضي). فيما يلي خياراتك:
.flex-container { display: flex; align-items: center; }
الآن، سيتم توسيط كافة العناصر عموديًا داخل الحاوية.
في بعض الأحيان، تريد أن تنمو عناصر معينة أو تتقلص أو يكون لها حجم بداية ثابت. تتيح لك خصائص النمو المرن، والانكماش المرن، والأساس المرن التحكم في هذا السلوك:
مثال:
.item { flex-grow: 1; flex-shrink: 0; flex-basis: 100px; }
يضمن هذا أن يبدأ العنصر عند 100 بكسل، ولكن يمكن أن ينمو لملء مساحة إضافية إذا لزم الأمر، دون تقليص.
دعونا نجمع كل هذا معًا بمثال!
Item 1Item 2Item 3
.flex-container { display: flex; flex-direction: row; justify-content: space-around; align-items: center; height: 300px; background-color: #f0f0f0; } .item { background-color: #4CAF50; padding: 20px; color: white; flex-grow: 1; }
في هذا المثال:
يزيل Flexbox الكثير من تعقيد تصميم التخطيط الذي اعتدنا أن نواجهه في CSS. لا مزيد من العوامات، ولا مزيد من القلق بشأن المسح، وتصميم سريع الاستجابة أسهل بكثير!
ريدوي حسن
تنصل: جميع الموارد المقدمة هي جزئيًا من الإنترنت. إذا كان هناك أي انتهاك لحقوق الطبع والنشر الخاصة بك أو الحقوق والمصالح الأخرى، فيرجى توضيح الأسباب التفصيلية وتقديم دليل على حقوق الطبع والنشر أو الحقوق والمصالح ثم إرسالها إلى البريد الإلكتروني: [email protected]. سوف نتعامل مع الأمر لك في أقرب وقت ممكن.
Copyright© 2022 湘ICP备2022001581号-3