Flexbox یا Flexible Box Layout یکی از روشهای قدرتمند و پرکاربرد در CSS است که برای طراحی چیدمانهای مدرن و انعطافپذیر به کار میرود. این روش به شما امکان میدهد عناصر را بهصورت افقی یا عمودی مرتب کنید و چیدمانهای واکنشگرا و سازمانیافتهای ایجاد کنید. در این مقاله، با مفاهیم اصلی Flexbox و نحوه استفاده از آن در طراحی چیدمانهای مدرن آشنا میشویم.
Flexbox ابزاری است که به شما امکان میدهد چیدمانهای پیچیدهتری ایجاد کنید و موقعیتدهی، فاصلهها و اندازهگذاری را بهسادگی مدیریت کنید. این ویژگی بهویژه برای طراحی صفحات وب واکنشگرا بسیار مناسب است و باعث میشود که چیدمان عناصر در نمایشگرهای مختلف بهینه باشد.
در Flexbox، دو نوع عنصر اصلی وجود دارند:
Flex Container: عنصری که Flexbox برای آن تنظیم شده و حاوی Flex Items است.
Flex Item: عناصری که در داخل Flex Container قرار دارند و بهصورت فلکس چیدمان میشوند.
مثال ابتدایی Flexbox
.container {
display: flex;
background-color: #f3f3f3;
}
.item {
background-color: #3498db;
padding: 10px;
color: white;
}
در اینجا، .container بهعنوان Flex Container و .item بهعنوان Flex Item تعریف شدهاند.
برای فعال کردن Flexbox، ابتدا باید display: flex را به Flex Container اختصاص دهید.
.container {
display: flex;
}
ویژگی flex-direction نحوه چیدمان Flex Items را در Flex Container تعیین میکند. این ویژگی چهار مقدار اصلی دارد:
row (پیشفرض): چیدمان عناصر بهصورت افقی از چپ به راست.
row-reverse: چیدمان افقی از راست به چپ.
column: چیدمان عمودی از بالا به پایین.
column-reverse: چیدمان عمودی از پایین به بالا.
.container {
display: flex;
flex-direction: row; /* چیدمان افقی */
}
justify-content نحوه توزیع فضای خالی را در محور اصلی (افقی یا عمودی) تعیین میکند و به شما امکان میدهد که Flex Items را در فضای موجود با ترتیبهای مختلف قرار دهید.
flex-start: چیدمان در ابتدای محور.
flex-end: چیدمان در انتهای محور.
center: چیدمان در وسط.
space-between: فاصلهگذاری بین آیتمها.
space-around: فاصلهگذاری با فضای مساوی در اطراف آیتمها.
.container {
display: flex;
justify-content: space-between; /* توزیع آیتمها با فاصله بین آنها */
}
ویژگی align-items چیدمان آیتمها را در محور عمودی کنترل میکند و به شما امکان میدهد که Flex Items را بهصورت عمودی مرتب کنید.
flex-start: چیدمان در بالای محور.
flex-end: چیدمان در پایین محور.
center: چیدمان در وسط محور.
stretch: کشیده شدن آیتمها برای پر کردن فضای عمودی (پیشفرض).
baseline: چیدمان آیتمها در راستای خط اصلی متن.
.container {
display: flex;
align-items: center; /* آیتمها در مرکز محور عمودی */
}
ویژگی flex-wrap مشخص میکند که اگر Flex Items از عرض یا ارتفاع کانتینر بیشتر شدند، در خطوط بعدی (wrap) قرار بگیرند.
nowrap: آیتمها در یک خط باقی میمانند و فضای کانتینر را میگیرند (پیشفرض).
wrap: آیتمها در صورت نیاز به خط بعدی منتقل میشوند.
wrap-reverse: آیتمها در خط بعدی، اما در جهت معکوس قرار میگیرند.
.container {
display: flex;
flex-wrap: wrap;
}
flex-grow نسبت رشد هر آیتم را تعیین میکند. مقدار پیشفرض آن 0 است و به این معنی است که آیتم بدون رشد باقی میماند. اگر مقدار 1 به آن اختصاص داده شود، Flex Item فضای خالی موجود را به نسبتهای تعیینشده پر میکند.
.item {
flex-grow: 1; /* هر آیتم به اندازه یکسان رشد میکند */
}
flex-shrink نسبت کوچک شدن هر آیتم را تعیین میکند. مقدار پیشفرض آن 1 است، به این معنی که آیتمها در صورت نیاز کوچک میشوند تا در کانتینر جا بگیرند.
.item {
flex-shrink: 1; /* هر آیتم به اندازه یکسان کوچک میشود */
}
flex-basis اندازه اولیهای را برای هر آیتم تعیین میکند. این ویژگی میتواند به صورت مقدار ثابت (مثلاً پیکسل) یا درصدی از فضای موجود تنظیم شود.
.item {
flex-basis: 200px; /* هر آیتم 200 پیکسل فضای اولیه دارد */
}
ویژگی order ترتیب نمایش Flex Items را تعیین میکند. مقدار پیشفرض آن 0 است. آیتمها با مقدار order کمتر، قبل از آیتمهای با مقدار بالاتر نمایش داده میشوند.
.item:nth-child(2) {
order: 1; /* آیتم دوم به جایگاه اول منتقل میشود */
}
< div class="container">
< div class="card">کارت 1< / div >
< div class="card">کارت 2< / div >
< div class="card">کارت 3< / div >
< / div >
.container {
display: flex;
justify-content: space-between;
}
.card {
flex-basis: 30%;
background-color: #3498db;
padding: 20px;
color: white;
text-align: center;
}
< div class="nav" >
< a href="#" > صفحه اصلی < / a >
< a href="#" > درباره ما < / a >
< a href="#" > تماس با ما < / a >
< / div >
.nav {
display: flex;
justify-content: center;
background-color: #333;
padding: 10px;
}
.nav a {
color: white;
margin: 0 15px;
text-decoration: none;
}
آزمایش با ویژگیهای مختلف: Flexbox ویژگیهای متعددی دارد که با ترکیب آنها میتوانید چیدمانهای پیچیده و جذاب ایجاد کنید.
توجه به واکنشگرایی: Flexbox یکی از بهترین ابزارها برای طراحی واکنشگراست؛ بنابراین از ویژگیهای آن برای تطابق چیدمان با صفحهنمایشهای مختلف استفاده کنید.
استفاده بهینه از فضای خالی: با استفاده از ویژگیهای justify-content و align-items میتوانید فضاهای خالی را بهینه و چیدمان تمیزی ایجاد کنید.
Flexbox یک ابزار قدرتمند در CSS است که برای طراحی چیدمانهای مدرن و واکنشگرا بسیار کارآمد است. با درک و تمرین ویژگیهای مختلف Flexbox، میتوانید چیدمانهایی جذاب و کاربردی برای وبسایت خود ایجاد کنید و تجربه کاربری بهتری را فراهم آورید. Flexbox با قابلیتهای فراوان خود به شما اجازه میدهد که با سهولت بیشتری چیدمانهای متنوع و انعطافپذیری در صفحات وب ایجاد کنید.
نظری یافت نشد
پارامترها و بازگشت از توابع در جاوا اسکریپت: نحوه تعریف و مدیریت خروجیها
2م بهمن 1402
مطالعه بیشتر
آموزش کامل توابع سازنده (Constructors) و پروتوتایپها (Prototypes) در جاوا اسکریپت: راهنمای جامع
28م مهر 1403
مطالعه بیشتر
آموزش کامل کنترل جریان و استفاده از if و else در جاوا اسکریپت: راهنمای جامع برای مبتدیان
2م بهمن 1402
مطالعه بیشتر
آموزش CSS Transform و Transition: تبدیلها و ایجاد تغییرات ظاهری پویا
10م شهریور 1402
مطالعه بیشتر
آموزش استایلدهی لیستها در CSS: طراحی و استایلدهی ul و ol
10م آبان 1403
مطالعه بیشتر
آموزش کامل استفاده از float، clear، text و font در CSS برای طراحی وب: راهنمای جامع
6م شهریور 1402
مطالعه بیشتر
پیمایش اشیاء و آرایهها در جاوا اسکریپت: راهنمای کامل برای Object.keys، Object.values، for...in و for...of
4م مهر 1403
مطالعه بیشتر
استفاده از Viewports و Viewport Units در CSS: طراحی واکنشگرا با vw، vh، vmin و vmax
16م آبان 1403
مطالعه بیشتر
آشنایی با Inheritance در CSS: اصول وراثت و مدیریت استایلها
12م آبان 1403
مطالعه بیشتر
استفاده از clip-path در CSS برای برشهای زیبا و جذاب: راهنمای کامل
16م آبان 1403
مطالعه بیشتر
مدیریت خطاها در Async/Await و Promises در جاوا اسکریپت: راهنمای کامل با مثالهای عملی
30م مهر 1403
مطالعه بیشتر
آموزش تغییر نوع و اندازه فونت و رنگ متن با CSS: استایلدهی حرفهای به متنها
5م شهریور 1402
مطالعه بیشتر
تمامی حقوق معتلق به ناشر سایت است و کپی از آن پیگرد قانونی دارد