دوره های آموزشی آکادمی پی وی لرن (پروژه محور و ویژه بازار کار)



  • ۹
  • آبان

جلسه ۶۰ : ویژگی Flexbox در CSS

  • دسته‌بندی‌ها :
جلسه ۶۰ : ویژگی Flexbox در CSS
    • جزئیات
    • نوع محتواآموزش تصویری

      مقدمه

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

      ویژگی Flexbox در CSS

      در ادامه ی این آموزش ما شما را با ساختار ویژگی Flexbox در CSS و جزئیات آن آشنا می کنیم.

      ویژگی Flexbox در CSS

      ویژگی Flexbox در CSS


      مثال : نمونه کامل استفاده از flex
      خودتان امتحان کنید »

      ماژول طراحی Flexbox

      قبل از ماژول Flexbox Layout، چهار حالت طرح بندی وجود داشت:

      • Block : برای تقسیم بندی داخلی وب سایت.
      • Inline : برای متن ها.
      • Table : برای داده های جدول دو بعدی.
      • Positioned : برای موقعیت صریح یک عنصر.

      ماژول Flexible Box با چیدمان افقی عناصر html بدون استفاده از ویژگی float ایجاد طرح های Responsive را آسان تر می کند.

      پشتیبانی در مرورگرها

      ویژگی های flexbox در مرورگرهای زیر پشتیبانی می شود:

       Chrome Internet Explorer / Edge Firefox Safari Opera
      ۲۹٫۰۱۱٫۰۲۲٫۰۱۰۴۸

      Flexbox در عناصر

      برای شروع استفاده از مدل Flexbox، ابتدا باید یک ظرف انعطاف پذیر را تعریف کنید.

      ویژگی Flexbox در CSS - ساختار اولیه

      ویژگی Flexbox در CSS
      – ساختار اولیه

      عنصر بالا یک عنصر انعطاف پذیر را به سه عدد داخل را نشان می دهد.

      مثال : سینتکس اولیه flexbox
      خودتان امتحان کنید »

      عنصر والد

      در ابتدا باید در عنصر ظرف یا والد ویژگی display را با مقدار flex تنظیم کنیم.

      مثال : 

      flex شامل مقادیر زیر می باشد:

      • flex-direction
      • flex-wrap
      • flex-flow
      • justify-content
      • align-items
      • align-content

      ویژگی flex-direction

      ویژگی flex-direction ترتیب جهت گیری عناصر داخل عنصر والد را مشخص می کند:

      ویژگی Flexbox در CSS -جهت گیری

      ویژگی Flexbox در CSS -جهت گیری


      مثال : ویژگی flex-direction
      خودتان امتحان کنید »

      دسته بندی عمودی از پایین به بالا:
      مثال : دسته بندی عمودی از پایین به بالا
      خودتان امتحان کنید »

      دسته بندی افقی چپ به راست:
      مثال : دسته بندی افقی چپ به راست
      خودتان امتحان کنید »

      دسته بندی افقی – حالت راست به چپ:
      مثال : دسته بندی افقی راست به چپ
      خودتان امتحان کنید »

      ویژگی flex-wrap

      ویژگی flex-wrap مشخص کننده ی حالت قرارگیری آیتم ها با تغییر اندازه ی صفحه است:

      در این مثال با استفاده از ویژگی flex-wrap یک flex با ۱۲ آیتم ایجاد کرده ایم:

      ویژگی flex-wrap

      مثال : ویژگی flex-wrap با مقدار wrap
      خودتان امتحان کنید »

      حالت پیش فرض مقدار ویژگی flex-wrap برابر با nowrap است:

      مثال : ویژگی flex-wrap با مقدار nowrap
      خودتان امتحان کنید »

      مقدار wrap-reverse در حالت responsive شدن مقادیر را به ترتیب معکوس می چیند.

      مثال : ویژگی flex-wrap با مقدار wrap-reverse
      خودتان امتحان کنید »

      ویژگی flex-flow

      ویژگی flex-flow در واقع کوتاه شده ی دو ویژگی flex-direction و flex-wrap   است و خصوصیات هر دو را داراست.

      مثال : ویژگی flex-flow
      خودتان امتحان کنید »

      ویژگی justify-content

      از ویژگی justify-content برای ترازبندی آیتم های flex استفاده می شود.

      ویژگی justify-content

      مثال : ویژگی justify-content
      خودتان امتحان کنید »

      ویژگی flex-start آیتم های flex را در ابتدای عنصر والد ترازبندی می کند:

      مثال : مقدار flex-start
      خودتان امتحان کنید »

      ویژگی flex-end آیتم های flex را در انتهای عنصر والد ترازبندی می کند:

      مثال : مقدار flex-end
      خودتان امتحان کنید »

      مقدار space-around

      مقدار space-around آیتم های flex را با فواصلی قبل ، بعد و بین خطوط نمایش می دهد:

      مثال : مقدار space-around
      خودتان امتحان کنید »

      مقدار space-between

      مقدار space-between آیتم های flex را با فواصل بین خطوط آن ها نمایش می دهد.

      مثال : مقدار between
      خودتان امتحان کنید »

      ویژگی align-items

      از ویژگی align-items برای ترازبندی عمودی آیتم های flex استفاده می شود.

      ویژگی align-items

      در مثال های این ویژگی ما از یک عنصر ظرف با ارتفاع ۲۰۰ پیکسل استفاده می کنیم تا عملکرد این ویژگی را بهتر نشان دهیم.

      مقدار center در این ویژگی عناصر flex را در وسط عنصر والد قرار می دهد:

      مثال : خصوصیت align-items
      خودتان امتحان کنید »

      مقدار flex-start آیتم ها را در بخش بالای عنصر flex قرار می دهد:

      مثال : مقدار flex-start
      خودتان امتحان کنید »

      مقدار flex-end آیتم ها را در بخش پایینی عنصر flex قرار می دهد:

      مثال : مقدار flex-end
      خودتان امتحان کنید »

      مقدار stretch اندازه ی آیتم ها را امتداد می دهد تا عنصر flex را پر کند:

      مثال : مقدار stretch
      خودتان امتحان کنید »

      مقدار baseline یک خط رنگی روی آیتم های flex قرار می دهد:

      مثال : مقدار baseline
      خودتان امتحان کنید »

      خصوصیت align-content

      ویژگی align-content برای ترازبندی خطوط flex استفاده می شود.

      خصوصیت align-content

      ما در مثال های این ویژگی از یک عنصر ظرف با اندازه ی ۶۰۰ پیکسل استفاده کرده ایم تا عملکرد این ویژگی را بخوبی نشان دهیم.

      مقدار space-between در این ویژگی آیتم ها را با فضای فاصله مساوی بین آن ها نمایش می دهد:

      مثال : خصوصیت align-content
      خودتان امتحان کنید »

      مقدار space-around در ویژگی فوق خطوط flex را با فضای قبل ، بعد و بین آنها نمایش می دهد:

      مثال : مقدار space-around
      خودتان امتحان کنید »

      مقدار stretch در ویژگی فوق فضای باقی مانده را با خطوط flex پر می کند:

      مثال : مقدار stretch
      خودتان امتحان کنید »

      مقدار center در ویژگی فوق باعث نمایش خطوط flex در وسط عنصر والد می شود:

      مثال : مقدار center
      خودتان امتحان کنید »

      مقدار flex-start باعث نمایش خطوط flex در ابتدای عنصر والد می شود:

      مثال : مقدار flex-start در align-content
      خودتان امتحان کنید »

      مقدار flex-end در ویژگی فوق باعث نمایش خطوط flex در انتهای عنصر والد می شود:

      مثال : مقدار flex-end در align-content
      خودتان امتحان کنید »

      مرکزیت کامل

      در مثال زیر ما یک مسئله بسیار رایج را حل می کنیم: مرکزیت کامل آیتم.

      مرکزیت کامل آیتم

      راه حل : مقدار هر دو ویژگی justify-content و  align-items را center قرار دهید:

      مثال : مقدار center
      خودتان امتحان کنید »

      عناصر فرزند (آیتم ها)

      عناصر فرزند مستقیم یک عنصر ظرف با قابلیت flex به طور خودکار قابلیت flex خواهند داشت.

      عناصر فرزند

      عنصر فوق چهار عنصر آبی انعطاف پذیر را درون عنصر ظرف خاکستری ظاهر می کند.

      مثال : عناصر فرزند
      خودتان امتحان کنید »

      ویژگی های آیتم های flex به شرح زیر است:

      • order
      • flex-grow
      • flex-shrink
      • flex-basis
      • flex
      • align-self

      ویژگی order

      ویژگی order ترتیب قرار گیری آیتم ها را مشخص می کند:

      ترتیب قرار گیری آیتم

      مقدار order که مشخص کننده اولویت نمایش آیتم است باید با عدد مشخص شود که پیش فرض آن ۰ است:

      مثال : ویژگی order
      خودتان امتحان کنید »

      ویژگی flex-grow

      ویژگی flex-grow مشخص می کند که یک آیتم flex می تواند مابقی فضای خالی عنصر والد خود را پر کند.

      ویژگی flex-grow

      مقدار این ویژگی باید با یک عدد مشخص شود که پیش فرض آن ۰ است.

      مثال : ویژگی flex-grow
      خودتان امتحان کنید »

      ویژگی flex-shrink

      این ویژگی میزان انعطاف پذیری یک آیتم را نسبت به سایر آیتم ها تعیین می کند.

      تعیین میزان انعطاف پذیری

      مقدار این ویژگی باید با یک عدد مشخص که پیش فرض آن ۱ است.

      در مثال زیر انعطاف پذیری آیتم سوم را نسبت به بقیه کاهش می دهیم:

      مثال : ویژگی flex-shrink
      خودتان امتحان کنید »

      ویژگی flex-basis

      ویژگی flex-basis طول داخلی یک آیتم flex را تعیین می کند.

      طول داخلی یک آیتم

      در مثال زیر طول آیتم سوم را تا ۲۰۰ پیکسل افزایش می دهیم:

      مثال : ویژگی flex-basis
      خودتان امتحان کنید »

      ویژگی flex

      این ویژگی کوتاه شده ی ویژگی های flex-growflex-shrink و flex-basis است.

      در مثال زیر برای آیتم سوم ویژگی های growable و shrinkable را حذف کرده و طول داخلی آیتم را با ۲۰۰ پیکسل تنظیم می کنیم.

      مثال : ویژگی flexbox_flex
      خودتان امتحان کنید »

      ویژگی align-self

      خصوصیات align-self تراز برای آیتم انتخاب شده داخل عنصر والد انعطاف پذیری را مشخص می کند.

      ویژگی align-self ترازبندی پیش فرض را با تنظیم ویژگی align-items از عنصر والد اعمال می کند.

      ویژگی  align-self

      در این نمونه ها از یک عنصر والد ۲۰۰ پیکسل بالا استفاده می کنیم تا بهتر بتوانیم خصوصیات align-self را نشان دهیم:

      در مثال زیر آیتم سوم را در وسط عنصر والد خود تراز می کنیم:

      مثال : مقدار align-self
      خودتان امتحان کنید »

      تنظیم آیتم دوم در بالای عنصر والد و عنصر سوم در پایین عنصر والد:

      مثال : مقدار flex
      خودتان امتحان کنید »

      ایجاد یک گالری عکس responsive با قابلیت flexbox

      در نهایت یک نمونه گالری عکس responsive ایجاد می کنیم که به نسب اندازه مرورگر تنظیم شود:

       

      مثال : گالری عکس در image_gallery
      خودتان امتحان کنید »

      Responsive کردن قالب وب سایت با استفاده از flexbox

      Responsive کردن قالب وب سایت با استفاده از flexbox

      مثال : قالب وب سایترسپانسیو
      خودتان امتحان کنید »

      خصوصیات ویژگی flex

      ویژگیتوضیحات
      displayنوع box مورد استفاده برای یک عنصر HTML را مشخص می کند.
      flex-directionجهت اجزای انعطاف پذیر را در یک ظرف انعطاف پذیر را مشخص می کند.
      justify-contentمحتوای عنصر flex را در مرکز قرار می دهد.
      align-itemsآیتم های عنصر flex را به صورت عمودی ترتیب می دهد.
      flex-wrapویژگی responsive را به عنصر flex ارائه می دهد.
      align-contentبا استفاده از خطوط flex آیتم های آن را ترازبندی می کند.
      flex-flowکوتاه شده ی دو ویژگی flex-direction و flex-wrap است.
      orderترتیب یک آیتم flex را نسبت به بقیه موارد flex در داخل یک عنصر ظرف مشخص می کند.
      align-selfانعطاف پذیری آیتم های flex را تغییر می دهد.
      flexکوتاه شده ی سه ویژگی  flex-grow, flex-shrink و flex-basis است.

      کلام آخر

      خصوصیات ویژگی Flexbox در CSS یکی از موارد مهم و کامل برای ایجاد صفحات responsive در وب سایت می باشد. با این ویژگی ها دیگر نیازی به تنظیمات دستی عرض و ارتفاع عناصر برای حالت responsive ندارید.

      QR:  جلسه ۶۰ : ویژگی Flexbox در CSS
      به اشتراک بگذارید