مفاهیم پایه‌ای Flexbox در CSS

css basic concepts flexbox
20 آبان 1403

Flexbox یا همان Flexible Box Layout، یک راه جدید و قدرتمند برای طراحی و چیدمان عناصر در صفحات وب محسوب می‌شود. با استفاده از این مدل، شما می‌توانید به راحتی بخش‌های مختلف یک صفحه وب را تنظیم و مدیریت کنید. یکی از بزرگترین مزایای Flexbox این است که به شما اجازه می‌دهد عناصر را در فضای آزاد بین یا در اطراف آن تنظیم کنید. این ویژگی برای طراحی‌های مدرن و انعطاف‌پذیر بسیار کاربردی است.

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

همچنین، Flexbox از سوی طراحان به دلیل قابلیت‌های زیاد در کنترل فضا و نحوه قرارگیری عناصر، بسیار محبوب است. از جمله این قابلیت‌ها می‌توان به چینش عناصر در محورهای cross و main اشاره کرد که به شما امکان می‌دهد طرح‌های پیچیده‌تری ایجاد کنید.

در دنیای وب که روز به روز به سمت ایجاد وب سایت‌های واکنش‌گرا پیش می‌رود، استفاده از Flexbox می‌تواند به شما کمک کند تا طراحی‌های خود را هر چه بهتر و کاربرپسندتر ارائه دهید.

بیایید نگاهی به یک مثال ساده بیندازیم که به شما کمک کند تا درک بهتری از این مفاهیم پیدا کنید.


    <style>
      .container {
        display: flex;
        justify-content: center;
        align-items: center;
        height: 100vh;
      }
      .item {
        background-color: #f0f0f0;
        margin: 10px;
        padding: 20px;
        border-radius: 5px;
      }
    </style>
    <div class="container">
      <div class="item">Item 1</div>
      <div class="item">Item 2</div>
      <div class="item">Item 3</div>
    </div>
  

توضیح خط به خط کد

display: flex; استفاده می‌شود تا Flexbox را به عنصر والد اعمال کند و به عنوان یک کانتینر فلکس تعریف شود.
justify-content: center; عناصر درون کانتینر را به صورت افقی و در وسط صفحه قرار می‌دهد.
align-items: center; عناصر داخل کانتینر را به صورت عمودی و در وسط صفحه تنظیم می‌کند.
height: 100vh; ارتفاع کانتینر را به اندازه 100% ارتفاع قابل نمایش صفحه تعریف می‌کند.
در داخل کانتینر، آیتم‌ها با استفاده از background-color، margin و padding استایل‌دهی شده‌اند تا جدا و زیباتر دیده شوند.

سوالات متداول

؟

چگونه می‌توانم عناصر را با Flexbox عمودی تراز کنم؟

؟

Flexbox چه تفاوتی با Grid در CSS دارد؟

؟

آیا Flexbox با تمامی مرورگرها سازگار است؟