Essam Abdelrahman نشر 3 فبراير أرسل تقرير نشر 3 فبراير تعلمت الflex والgrid في ال css وأجد راحتي في ال flex لان الgrid معقد هل يمكنني الاعتماد على ال flex دون الحاجة إلى الgrid ؟ 1 اقتباس
0 Khaled Osama3 نشر 3 فبراير أرسل تقرير نشر 3 فبراير نعم، يمكنك الاعتماد على Flexbox (الفليكس) دون الحاجة إلى Grid (الشبكة) في الكثير من حالات التصميم في CSS. Flexbox (الفليكس) هو طريقة لترتيب العناصر في صف واحد أو عمود واحد. يتيح لك التحكم بسهولة في توزيع المساحة بين العناصر وتوجيهها (أفقيًا أو عموديًا). ولكن يفضل استخدامه عندما يكون لديك تخطيط يتطلب ترتيب العناصر في خط مستقيم (سواء كان ذلك خطًا أفقيًا أو عموديًا)، مثل شريط التنقل، أو عندما تحتاج إلى محاذاة العناصر بطريقة معينة داخل الحاوية. Grid (الشبكة) هو طريقة لترتيب العناصر في شبكة متعددة الأعمدة والصفوف. يوفر تحكمًا دقيقًا في تخطيط العناصر على الصفحة بالنسبة للأعمدة والصفوف. ولكن يفضل استخدامه عندما تحتاج إلى ترتيب العناصر في تخطيط يشبه الشبكة، مثل معرض الصور أو لوحة المعلومات، حيث تحتاج إلى التحكم في توزيع العناصر عبر صفوف وأعمدة متعددة. ولكن يمكن الاعتماد على الفليكس دون الشبكة. Flexbox قادر على التعامل مع الكثير من التصميمات والتخطيطات التي تحتاجها في معظم المواقع. ومع ذلك، قد تجد في بعض الحالات الخاصة أن استخدام Grid يمكن أن يجعل الأمور أسهل، خصوصًا عند التعامل مع تخطيطات معقدة تتطلب التحكم في العديد من العناصر في شبكة متعددة الأبعاد. باختصار يمكنك استخدم الفليكس عندما تحتاج إلى تخطيط بسيط ومرن للعناصر في صف أو عمود. واستخدم الشبكة لتخطيطات أكثر تعقيدًا تتطلب التحكم في توزيع العناصر في صفوف وأعمدة متعددة. اختار الأداة المناسبة للمشكلة التي تواجهها. ولكن إذا وجدت راحتك في استخدام Flexbox ويمكنها تلبية احتياجات تصميمك، فمن الممكن جدًا الاعتماد عليها في معظم الأحيان. اقتباس
0 Hossam Mohamed15 نشر 3 فبراير أرسل تقرير نشر 3 فبراير اختيارك للتقنية يعتمد على التصميم المراد تنفيذه، عادة يستخدم display flex إذا كان التصميم به صف واحد او عمود واحد، والdisplay grid إذا كان التصميم به اصفف وأعمدة متعددة لسهولة التحكم في عرض وطول العناصر مع الإبقاء على مرونتها. وعندما تتقدم في بناء صفحات معقدة، ستجد هناك استخداماً لكلتا الخاصيتين، ستجد ان ال grid يساعدك في بناء ال layout الأساسي للصفحات اي في نطاق اوسع، وال flex يساعدك في تنظيم العناصر في الdivs أي في نطاق اصغر.. وهذا هو الاستخدام الرائج. لذا عليك فهم واتقان ال grid system يمكنك لعب هذه اللعبة الممتعة التي ستجعلك تتقن ال grid ملاحظة أخيرة :- ستتعلم لاحقاً اطر عمل ومكتبات css مثل Bootstrap و Tailwind ، وستجد أن هذه المكتبات تسهل عليك عملية البناء بدون تعقيد، ومع الوقت ستجد أن الأمر سهل وليس بالتعقيد الذي تراه الآن. تمنياتي بالتوفيق 1 اقتباس
0 Najah Alsaker نشر 7 فبراير أرسل تقرير نشر 7 فبراير اضافة الى الاجابات السابقة الوافية التي قدمها زملائي سأقوم باعطائك مثال عملي لتفهم الفكرة اكثر ف لنضع هذا الكود داخل ملف ال index.html <div class="container"> <div class="item">عنصر 1</div> <div class="item">عنصر 2</div> <div class="item">عنصر 3</div> </div> ولنبدأ بتعديله عن طريق ال grid اولا الذي يستخدم لتوزيع العناصر بسهولة ومرونة بين الصفوف والاعمدة .container { display: grid; grid-template-columns: 1fr 1fr 1fr; gap: 10px; } .item { background-color: #ddd; padding: 20px; } هذا الكود يقوم بتوزيع العناصر على 3 اعدة متساوية بفضل الخاصية grid-template-columns: 1fr 1fr 1fr; وان اردت تغييره الى صفوف ف يمكنك ذلك بطريقة بسيطة عبر تغيير هذه الخاصية للتالي : .container { display: grid; grid-template-rows: auto; /*هذا يعني ان العناصر تكون في سطر واحد */ gap: 10px; } .item { background-color: #ddd; padding: 20px; } وقمت باعطائه خلفية لتظهر الامور بشكل اوضح اي يمكننا الاستنتاج الان ان grid يستطيع التحكم بالعناصر بمرونة بين افقيا او عموديا اما بالنسبة ل flex فهو يقوم بعرف العناصر على نفس السطر الواحد ولا يفترض عرضهم بالتساوي على ملئ الشاشة بطريقة افتراضية بل يجب عليك انت تحديد ذلك دعنا نأخذ مثال عملي عن طريق هذا الكود .container { display: flex; justify-content: space-between; /* flex-direction: column; height: 300px; */ } .container .item { background-color: #ddd; padding: 20px; /* margin-bottom: auto; */ } فانه يعطينا العناصر على نفس السطر ايضا ولكن لاحظ اخلاف نتيجة التنسق هنا وبين الصورة السابقة وان قمت بتعليق الخاصية justify-content: space-between; ف سيقوم باظهارهم على الشكل التالي اي انها تقوم بوضع العناصر على سطر واحد ولكنها لا تجعل العناصر تمتد على ملئ الشاشة اما الأن ف دعنا نزيل التعليقات التي كانت موجودة في الكود السابق لنرى نتيجة ال flex في الوضع العامودي ليصبح كالتالي : .container { display: flex; justify-content: space-between; flex-direction: column; height: 200px; } .container .item { background-color: #ddd; padding: 20px; margin-bottom: auto; } لاحظ اننا قمنا باضافة العديد من الاسطر والتنسيقات لجعلها تظر بشكل عمودي عن طريق ال flex بينما عند استخدام ال grid كان ذلك بشكل اسهل ومختصر اكثر اذا في النهاية اصبحت على دراية كاملة بالفروقات وطريقة عمل كل منهم يمكنك الاختيار في ما بينهم حسب متطلبات المشروع الذي تعمل عليه وبالتوفيق لك اقتباس
السؤال
Essam Abdelrahman
تعلمت الflex والgrid في ال css وأجد راحتي في ال flex لان الgrid معقد
هل يمكنني الاعتماد على ال flex دون الحاجة إلى الgrid ؟
3 أجوبة على هذا السؤال
Recommended Posts
انضم إلى النقاش
يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.