در حال بارگذاری...

فونت وب در CSS

font-family و اندازه و وزن را بلدید. فونت وب قلمی را از اینترنت می‌آورد که لزوماً روی گوشی یا رایانهٔ بازدیدکننده نصب نیست. با @font-face معرفی‌اش می‌کنید، بعد مثل بقیهٔ فونت‌ها صدا می‌زنید، و در آخر یک فونت جایگزین مطمئن می‌گذارید.

تکه‌های @font-face

📊 @font-face یک‌نگاهه

تکه کار روزمره
font-family نامی که خودتان می‌گذارید و بعداً در CSS صدا می‌زنید
src فایل(های) فونت کجایند (url(...) و اغلب format(...))
font-weight / font-style این فایل کدام نسخه است (معمولی، ضخیم، ایتالیک…)
font-display متن هنگام بارگذاری فونت چطور رفتار کند (مثل swap)

دو قدم آرام کافی است: اول با @font-face قلم را ثبت کنید، بعد همان نام خانواده را در قواعد معمولی صدا بزنید. اگر یکی را جا بگذارید، مرورگر فایل سفارشی را پیدا نمی‌کند.

یک @font-face مینیمال

به قلم نامی واضح بدهید و src را به فایل فونت روی سایت خودتان (یا CDN) وصل کنید.

@font-face پایه

css
CSS Code
@font-face {
font-family: "Site Sans";
src: url("/fonts/site-sans.woff2") format("woff2");
font-weight: 400;
font-style: normal;
}

بیش از یک قالب بدهید

مرورگرهای امروزی woff2 را دوست دارند. اگر بعدش woff هم بنویسید، مرورگرهای قدیمی‌تر جا نمی‌مانند. بهترین قالب را اول بگذارید.

اول woff2 بعد woff

css
CSS Code
@font-face {
font-family: "Site Sans";
src:
url("/fonts/site-sans.woff2") format("woff2"),
url("/fonts/site-sans.woff") format("woff");
font-weight: 400;
font-style: normal;
}

font-display — متن زودتر دیده شود

با font-display: swap مرورگر اول متن را با فونت جایگزین نشان می‌دهد؛ وقتی فونت وب رسید، جایش را عوض می‌کند. این کار معمولاً بهتر از آن است که متن مدتی نامرئی بماند.

Display swap

css
CSS Code
@font-face {
font-family: "Site Sans";
src: url("/fonts/site-sans.woff2") format("woff2");
font-weight: 400;
font-style: normal;
font-display: swap;
}

همان خانواده‌ای را که اعلان کردید صدا بزنید

بعد از @font-face، در قواعدتان همان نام font-family را بنویسید — و یک جایگزین عمومی مثل sans-serif را از قلم نیندازید.

اعمال خانوادهٔ سفارشی

css
CSS Code
body {
font-family: "Site Sans", system-ui, "Segoe UI", sans-serif;
font-size: 1rem;
line-height: 1.6;
}

عادت آرام میزبانی روی خودتان

فقط وزن‌هایی را نگه دارید که واقعاً لازم دارید، woff2 را ترجیح دهید، font-display بگذارید، و همیشه پشتهٔ سیستم یا عمومی داشته باشید.

عنوان با نسخهٔ ضخیم بارگذاری‌شده

css
CSS Code
@font-face {
font-family: "Site Sans";
src: url("/fonts/site-sans-bold.woff2") format("woff2");
font-weight: 700;
font-style: normal;
font-display: swap;
}

h1 {
font-family: "Site Sans", Georgia, serif;
font-weight: 700;
}

خودتان امتحان کنید

  1. یک بلوک @font-face با نام font-family خودتان و src از نوع woff2 بنویسید.
  2. خط دوم src برای woff اضافه کنید.
  3. font-display: swap بگذارید.
  4. روی body بنویسید "Your Name", sans-serif.
  5. اگر فایل ضخیم دارید، @font-face جدا برای وزن 700 بگذارید — بعد روی عنوان font-weight: 700.

اشتباهات رایج

  • @font-face نوشتن، ولی همان نام را در font-family صدا نزدن
  • حذف فونت جایگزین (اگر فایل لود نشود ظاهر صفحه می‌شکند)
  • بارگذاری وزن‌ها و استایل‌های زیادی که اصلاً استفاده نمی‌کنید (صفحه کند می‌شود)
  • بدون font-display متن را مدت طولانی نامرئی گذاشتن
  • قاطی کردن این درس با text-shadow و افکت‌ها (آن‌ها درس بعدی‌اند)

خلاصه

  • @font-face نام خانوادهٔ سفارشی را ثبت می‌کند و به فایل‌های فونت اشاره می‌دهد
  • woff2 را ترجیح دهید؛ در صورت نیاز woff هم بگذارید
  • font-display: swap اغلب هنگام بارگذاری متن را خوانا نگه می‌دارد
  • همان نام خانواده را در CSS با جایگزین سیستم یا عمومی استفاده کنید
  • فقط نسخه‌های لازم را بارگذاری کنید؛ افکت‌هایی مثل text-shadow درس بعدی‌اند

🧠 دانش خود را بیازمایید

آماده شروع

دانش خود را بیازمایید

خود را با این آزمون تعاملی به چالش بکشید و ببینید موضوع را چقدر خوب درک کرده‌اید

❓
8
سوالات
🎯
70%
برای قبولی
♾️
∞
زمان
🔄
∞
تلاش‌ها

📝 دستورالعمل‌ها

  • هر سوال را با دقت بخوانید
  • بهترین پاسخ را برای هر سوال انتخاب کنید
  • می‌توانید آزمون را هر چند بار که می‌خواهید تکرار کنید
  • پیشرفت شما در بالا نمایش داده می‌شود