فلکس باکس چیست؟ شرح تمام ویژگی های css، اصول اولیه، مزایا و معایب. Flexbox چند مثال مفید برای کار با پیوندهای Flex مفید

Flexbox برای ایجاد طرح‌بندی‌های رایج وب‌سایت، مانند طرح‌بندی سه ستونی، به اصطلاح جام مقدس، ایده‌آل است، جایی که تمام ستون‌ها بدون توجه به محتوایشان باید ارتفاع کامل را بگیرند. در این حالت در کد منبع، محتوای اصلی قبل از ناوبری و در خود صفحه، محتوای اصلی بعد از ناوبری می آید.

مثل این.

مثال

کلاه
مقاله
زیر زمین

قبل از ظهور فلکس باکس، این نوع چیدمان بدون استفاده از نوعی هک بسیار سخت بود. توسعه‌دهندگان اغلب مجبور بودند کارهایی مانند اضافه کردن نشانه‌گذاری اضافی، اعمال حاشیه‌های منفی و سایر ترفندها را انجام دهند تا همه چیز را بدون توجه به مقدار محتوا یا اندازه صفحه نمایش، به درستی ردیف کنند. اما، همانطور که مثال بالا نشان می دهد، همه چیز در flexbox بسیار ساده تر است.

در اینجا خلاصه ای از کد آمده است. در این مثال، عنصر #main را به یک ظرف انعطاف‌پذیر تبدیل می‌کنیم، در حالی که سرصفحه و پاورقی را به عنوان عناصر سطح بلوک باقی می‌گذاریم. به عبارت دیگر فقط قسمت وسط تبدیل به فلکس باکس می شود. در اینجا قطعه ای وجود دارد که آن را به یک ظرف انعطاف پذیر تبدیل می کند.

#main (نمایشگر: انعطاف پذیر؛ حداقل ارتفاع: calc (100vh - 40vh)؛ )

ما فقط از display: flex برای ساختن ظرف فلکس استفاده می کنیم. توجه داشته باشید که مقدار min-height را نیز با تابع calc () تنظیم می کنیم و #main را روی 100% ارتفاع viewport قرار می دهیم. منهایارتفاع درپوش و زیرزمین (هر کدام 20 ولت ساعت). این تضمین می کند که چیدمان تمام ارتفاع صفحه را اشغال می کند، حتی اگر محتوای کمی داشته باشد. در نتیجه، اگر محتوا کمتر از ارتفاع صفحه باشد، پاورقی هرگز بالا نمی رود و فضای خالی زیر آن باقی نمی ماند.

با توجه به اعمال اندازه جعبه: جعبه مرزی برای همه عناصر، محاسبه حداقل ارتفاع به اندازه کافی آسان بود. اگر این کار را نکردیم، باید اضافه کنیم ارزش بالشتکیبه مقداری که باید کم شود.

بعد از نصب ظرف فلکس با آیتم های فلکس سروکار داریم.

#main > article ( flex: 1; ) #main > nav, #main > aside ( flex: 0 0 20vw; background: beige; ) #main > nav ( سفارش: -1; )

ویژگی flex مخفف خواص flex-grow، flex-shrink و flex-bases است. در حالت اول، ما فقط یک مقدار نوشتیم، بنابراین flex ویژگی flex-grow را تنظیم می کند. در حالت دوم، ما هر سه مقدار را برای آن نوشتیم