آشنایی با ویژگیهای فونت در CSS: خانواده فونت، اندازه، ضخامت، استایل و فونتهای وب
فونت در CSS
فونت یکی از مهمترین عناصر طراحی وب است. انتخاب فونت مناسب، خوانایی و زیبایی سایت را تعیین میکند.
ویژگیهای فونت
| ویژگی | توضیح | مثال |
font-family | خانواده فونت | Tahoma, sans-serif |
font-size | اندازه فونت | 16px |
font-weight | ضخامت فونت | bold |
font-style | استایل فونت | italic |
line-height | ارتفاع خط | 1.6 |
font-variant | نوع فونت | small-caps |
font | خلاصه همه (Shorthand) | bold 16px Tahoma |
۱. خانواده فونت (font-family)
میتوان چند فونت پشت سر هم تعریف کرد — اگر اولی نبود، دومی استفاده میشود:
body {
font-family: "Vazirmatn", "Tahoma", sans-serif;
}
/* اگر Vazirmatn نصب نبود → Tahoma */
/* اگر Tahoma هم نبود → sans-serif عمومی */
دستههای فونت عمومی
| دسته | توضیح | نمونه فارسی |
serif | دارای پایکانه (خط کوچک) | Times New Roman |
sans-serif | بدون پایکانه (مدرن) | Tahoma, Vazirmatn |
monospace | پهنای ثابت (کد) | Consolas, Monaco |
cursive | دستی و تزئینی | Comic Sans |
fantasy | فانتزی و خاص | Impact |
۲. اندازه فونت (font-size)
| واحد | توضیح | مثال |
px | پیکسل ثابت | 16px |
em | نسبی به والد | 1.2em |
rem | نسبی به ریشه ⭐ | 1.2rem |
% | درصد از والد | 120% |
vw | نسبی به ویوپورت | 2vw |
| کلمات کلیدی | اندازه از پیش تعریفشده | large |
کلمات کلیدی اندازه
font-size: xx-small;
font-size: x-small;
font-size: small;
font-size: medium; /* پیشفرض — معمولاً ۱۶px */
font-size: large;
font-size: x-large;
font-size: xx-large;
۳. ضخامت فونت (font-weight)
| مقدار | توضیح |
normal (۴۰۰) | عادی |
bold (۷۰۰) | ضخیم ⭐ |
lighter | نازکتر از والد |
bolder | ضخیمتر از والد |
100 تا 900 | عددی دقیق |
p { font-weight: normal; }
strong { font-weight: bold; }
.light { font-weight: 300; }
.heavy { font-weight: 900; }
۴. استایل فونت (font-style)
em { font-style: italic; } /* کج */
.normal { font-style: normal; } /* عادی */
.oblique { font-style: oblique; } /* مورب */
۵. Shorthand (خلاصه همه)
/* ترتیب مهم است */
p {
font: italic bold 16px/1.6 Tahoma, sans-serif;
/* ↑ ↑ ↑ ↑ ↑
/* style weight size/line-height family */
}
فونتهای ایمن وب (Web Safe Fonts)
فونتهایی که روی اکثر سیستمها نصب هستند:
| فونت فارسی | فونت انگلیسی |
| Tahoma | Arial |
| Segoe UI | Helvetica |
| Vazirmatn (با @font-face) | Georgia |
| Iranian Sans (با @font-face) | Times New Roman |
فونتهای سفارشی با @font-face
@font-face {
font-family: "Vazirmatn";
src: url("fonts/Vazirmatn-Regular.woff2") format("woff2"),
url("fonts/Vazirmatn-Regular.woff") format("woff");
font-weight: normal;
font-style: normal;
}
body {
font-family: "Vazirmatn", Tahoma, sans-serif;
}
فرمتهای فونت
| فرمت | توضیح |
woff2 | بهترین فشردهسازی ⭐ |
woff | فشردهسازی خوب |
ttf | فرمت سنتی |
eot | فقط IE (منسوخ) |
استفاده از Google Fonts
/* در HTML */
<link href="https://fonts.googleapis.com/css2?family=Vazirmatn:wght@400;700&display=swap" rel="stylesheet">
/* در CSS */
body {
font-family: "Vazirmatn", sans-serif;
}
ویژگی font-display
@font-face {
font-family: "MyFont";
src: url("my-font.woff2") format("woff2");
font-display: swap; /* فونت جایگزین را اول نشان بده */
}
| مقدار | توضیح |
auto | مرورگر تصمیم میگیرد |
block | متن نامرئی تا لود فونت |
swap | فونت جایگزین سریع ⭐ |
fallback | تعادل بین سرعت و ظاهر |
optional | اگر سریع لود نشد، بیخیال |
بهترین شیوهها
- از فونتهای فارسی استاندارد مثل Vazirmatn یا IRANSans استفاده کنید
- همیشه fallback تعیین کنید:
"Vazirmatn", Tahoma, sans-serif
- حداقل ۲ وزن فونت لود کنید (normal + bold) — هر وزن اضافی سرعت را کم میکند
- از فرمت
woff2 برای بهترین فشردهسازی استفاده کنید
font-display: swap را فراموش نکنید
- اندازه فونت بدنه حداقل
16px باشد
- از
rem برای اندازه فونت استفاده کنید
نکات مهم
- فونتهای فارسی معمولاً نیاز به
@font-face دارند
- هر فونت اضافی، درخواست HTTP بیشتر و سرعت کمتر
rem به فونت عنصر html بستگی دارد
- فونتهای سفارشی باید روی سرور شما یا CDN قابل دسترس باشند
- از مجوز استفاده فونت مطمئن شوید — همه فونتها رایگان نیستند