استایل متن در CSS
CSS ابزارهای قدرتمندی برای کنترل ظاهر متن ارائه میدهد — از رنگ و فونت تا فاصله و دکوراسیون.
ویژگیهای رنگ و تراز
| ویژگی | توضیح | مثال |
color | رنگ متن | #333 |
text-align | ترازبندی | center |
direction | جهت متن | rtl |
writing-mode | حالت نوشتاری | vertical-rl |
۱. رنگ متن (color)
p { color: #333; }
.title { color: rgb(52, 152, 219); }
.warning { color: red; }
۲. ترازبندی (text-align)
| مقدار | توضیح |
left | چپچین |
right | راستچین |
center | وسطچین |
justify | تراز از هر دو طرف |
start | شروع (rtl = right) |
end | پایان (rtl = left) |
۳. دکوراسیون متن (text-decoration)
a { text-decoration: none; } /* حذف زیرخط */
.underline { text-decoration: underline; }
.overline { text-decoration: overline; }
.strike { text-decoration: line-through; }
دکوراسیون پیشرفته
fancy {
text-decoration: underline wavy red; /* موجی قرمز */
text-decoration-thickness: 2px; /* ضخامت */
text-underline-offset: 4px; /* فاصله از متن */
}
۴. تبدیل متن (text-transform)
| مقدار | توضیح | مثال |
uppercase | همه حروف بزرگ | HELLO |
lowercase | همه حروف کوچک | hello |
capitalize | حرف اول بزرگ | Hello World |
none | بدون تغییر | hello |
۵. فاصله بین حروف و کلمات
/* فاصله بین حروف */
.spaced {
letter-spacing: 2px; /* بازتر */
letter-spacing: -1px; /* فشردهتر */
}
/* فاصله بین کلمات */
.loose {
word-spacing: 5px;
}
۶. ارتفاع خط (line-height)
یکی از مهمترین ویژگیها برای خوانایی متن:
p {
line-height: 1.6; /* ۱.۶ برابر اندازه فونت ⭐ */
/* یا */
line-height: 24px; /* مقدار ثابت */
/* یا */
line-height: 150%; /* درصدی */
}
| مقدار | توضیح |
1 | فشرده — مناسب عنوانها |
1.4 - 1.6 | عادی — متن بدنه ⭐ |
2 | باز — مناسب خوانایی بالا |
۷. تورفتگی خط اول (text-indent)
p {
text-indent: 30px; /* تورفتگی خط اول */
}
۸. فضای سفید (white-space)
| مقدار | توضیح |
normal | پیشفرض — شکست خط خودکار |
nowrap | بدون شکست خط |
pre | حفظ فاصلهها و خطوط |
pre-wrap | حفظ فاصله + شکست خودکار |
pre-line | شکست خط ولی فاصله یکنواخت |
۹. سرریز متن (text-overflow)
.truncate {
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis; /* ... اضافه میکند */
}
/* یا برش ساده */
.clip {
text-overflow: clip;
}
۱۰. سایه متن (text-shadow)
.title {
text-shadow: 2px 2px 4px rgba(0,0,0,0.5);
}
/* متن برجسته */
.embossed {
color: #ccc;
text-shadow: 1px 1px 0 white, -1px -1px 0 #888;
}
/* گلو (glow) */
.glow {
color: white;
text-shadow: 0 0 10px #3498db;
}
۱۱. شکست کلمات (word-break / overflow-wrap)
/* شکست در هر جای کلمه */
.break-all {
word-break: break-all;
}
/* شکست فقط در مواقع ضروری */
.wrap {
overflow-wrap: break-word;
}
/* حفظ کلمه (پیشفرض) */
.normal {
word-break: keep-all;
}
۱۲. جهت متن (direction)
/* فارسی/عربی */
body {
direction: rtl;
}
/* انگلیسی */
body {
direction: ltr;
}
۱۳. سرریز چند خطی (line-clamp)
/* محدود کردن به ۳ خط */
.clamp-3 {
display: -webkit-box;
-webkit-line-clamp: 3;
-webkit-box-orient: vertical;
overflow: hidden;
}
بهترین شیوهها
line-height: 1.6 برای متن بدنه — خوانایی بهتر
- از
text-decoration: none روی لینکها و سپس استایل سفارشی استفاده کنید
- کنتراست رنگ متن و پسزمینه حداقل ۴.۵:۱ باشد
- برای متنهای طولانی،
max-width تعیین کنید (۴۵-۷۵ کاراکتر در خط)
- از
text-overflow: ellipsis برای متنهای کوتاهشده استفاده کنید
- در سایت فارسی،
direction: rtl و text-align: right را تنظیم کنید
نکات مهم
line-height بدون واحد بهتر است — نسبت به فونت والد
text-align: justify میتواند فاصلههای زشت ایجاد کند
text-shadow روی خوانایی تأثیر منفی میگذارد — با احتیاط استفاده کنید
word-break: break-all کلمات را میشکند — فقط در موارد ضروری
- برای متن فارسی،
direction: rtl ضروری است