درس هفتم: ابزارهای کمکی و قدرت Flexbox

درس هفتم: ابزارهای کمکی و قدرت Flexbox

در این درس یاد می‌گیرید که چگونه با استفاده از سیستم Flexbox، المان‌ها را با دقت میلی‌متری تراز کنید و با ابزارهای کمکی، سایه‌ها، حاشیه‌ها و شفافیت‌ها را مدیریت کنید.

۱. سیستم Flexbox: جابجایی هوشمند المان‌ها

بوت‌استرپ ۵ بر پایه Flexbox ساخته شده است. با استفاده از کلاس .d-flex، یک ظرف تبدیل به محیطی می‌شود که فرزندان آن می‌توانند به راحتی در جهت‌های مختلف چیده شوند.

الف) تراز افقی (Justify Content):

برای تعیین نحوه پخش شدن المان‌ها در عرض صفحه:

  • .justify-content-start: چسبیدن به راست (در فارسی).
  • .justify-content-center: قرار گرفتن در مرکز.
  • .justify-content-between: ایجاد بیشترین فاصله ممکن بین المان‌ها (المان اول در ابتدا و المان آخر در انتها).

ب) تراز عمودی (Align Items):

اگر ارتفاع باکس‌های شما متفاوت است، با .align-items-center می‌توانید همه را در یک خط افقی مرکزی تراز کنید.

۲. ابزارهای ظاهری: سایه‌ها و گردی لبه‌ها

گاهی می‌خواهید یک المان از صفحه “بلند” شود یا لبه‌های آن نرم‌تر به نظر برسد. بدون CSS، این کار با کلاس‌های زیر ممکن است:

.shadow-sm
سایه ظریف
.shadow
سایه متوسط
.shadow-lg
سایه عمیق

گرد کردن لبه‌ها (Rounded):

  • .rounded: گردی معمولی.
  • .rounded-pill: تبدیل المان به شکل کپسول (بسیار محبوب برای دکمه‌ها).
  • .rounded-circle: تبدیل المان به دایره کامل (مناسب برای عکس پروفایل).

۳. کنترل ابعاد (Width & Height)

به جای دادن طول و عرض ثابت با استایل داخلی، از درصدهای آماده استفاده کنید:

w-25 (۲۵٪) | w-50 (۵۰٪) | w-75 (۷۵٪) | w-100 (۱۰۰٪ عرض)

همین منطق برای ارتفاع با پیشوند h- (مثل h-100) نیز وجود دارد.

⚠️ تله‌های بهینه‌سازی:

  • شلوغی کلاس‌ها: اگر برای یک المان بیش از ۱۰ کلاس کمکی می‌نویسید، شاید بهتر باشد یک کلاس CSS اختصاصی تعریف کنید تا کدتان قابل خواندن باقی بماند.
  • تداخل سایه‌ها: استفاده از shadow-lg روی المان‌های کوچک باعث می‌شود طراحی شما سنگین و غیرحرفه‌ای به نظر برسد. سایه‌های بزرگ را فقط برای مدال‌ها یا کارت‌های تکی استفاده کنید.
  • فراموش کردن d-flex: کلاس‌های تراز‌بندی (مثل justify-content-center) فقط زمانی کار می‌کنند که المانِ والد حتماً کلاس .d-flex را داشته باشد.

🔬 کارگاه عملی درس هفتم: طراحی باکس “پروفایل کاربری”

یک کارت پروفایل بسیار مدرن بسازید که:

  1. دارای یک سایه متوسط (shadow) و لبه‌های گرد شده (rounded-3) باشد.
  2. یک تصویر دایره‌ای (rounded-circle) در مرکز آن قرار بگیرد.
  3. با استفاده از Flexbox، نام کاربر و شغل او را دقیقاً در مرکز عمودی و افقی کارت تراز کنید.
  4. یک دکمه کپسولی (rounded-pill) با عرض ۱۰۰٪ در انتهای آن بگذارید.
نکته حرفه‌ای: برای ایجاد فاصله بین تصویر و متن، از ابزارهای فاصله که در درس دوم آموختید (مثل mb-3) در کنار ابزارهای این درس استفاده کنید.

پایان درس هفتم

حالا شما ابزارهای دقیق برای شخصی‌سازی سایت را در اختیار دارید. در درس هشتم به سراغ **بخش نهایی: تجمیع و خروجی گرفتن از یک پروژه کامل** خواهیم رفت.