حالت آفلاین — محتوا از حافظهٔ کش نمایش داده می‌شود
آموزش CSS از صفر؛ طراحی صفحه با Flexbox و Grid

رفع خطای راست‌چین فارسی در CSS؛ direction و text-align

رنگ و تایپوگرافی فارسی با CSS · 0٪

دو ویژگی نزدیک به هم می‌تونن کارهای متفاوت داشته باشن. direction مسیر پایه متن و ترتیب برخی بخش‌های محتوا رو مشخص می‌کنه؛ rtl یعنی راست به چپ. text-align جای قرارگیری متن داخل خط رو تعیین می‌کنه؛ right یعنی لبه راست ظرف. داشتن متن فارسی به‌تنهایی تضمین نمی‌کنه تنظیمی که از یک قانون قدیمی به ارث رسیده درست باشه.

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

✍️ مثال حل‌شده:

<p class="english" lang="en">Lesson 2</p>
<style>.english { direction: ltr; text-align: center; }</style>

حالا نوبت توئه: اعلان .message باید direction برابر rtl، text-align برابر right و font-size برابر ۱۸ پیکسل داشته باشد. متن «جلسه 2 آماده است» و عرض ۳۰۰ پیکسلی آن را نگه دار. قانون ltr و left فعلی را اصلاح کن؛ عدد لاتین نباید جهت کل اعلان را عوض کند.

فعالیت شما

اعلان .message باید direction برابر rtl، text-align برابر right و font-size برابر ۱۸ پیکسل داشته باشد. متن «جلسه 2 آماده است» و عرض ۳۰۰ پیکسلی آن را نگه دار. قانون ltr و left فعلی را اصلاح کن؛ عدد لاتین نباید جهت کل اعلان را عوض کند.

مطالعهٔ این گام برای همه آزاد است

برای پاسخ‌دادن، بررسی پاسخ، ثبت پیشرفت و استفاده از دستیار باید شرایط شرکت در فعالیت‌ها را داشته باشید.

برای انجام فعالیت وارد شوید

برای انجام فعالیت‌ها ابتدا این دوره‌های پیش‌نیاز را تکمیل کنید:

کد اولیهٔ فعالیت

<!doctype html>
<html lang="fa" dir="rtl">
<head><meta charset="utf-8"><meta name="viewport" content="width=device-width,initial-scale=1"><title>تمرین CSS</title></head>
<body>
<p class="message">جلسه 2 آماده است</p>
</body>
</html>

ظاهر صفحه (CSS)

body{margin:0;padding:16px;font-family:Tahoma,Arial,sans-serif;direction:rtl;color:#1f2937;background:#f3f4f6}*{box-sizing:content-box}
.message{width:300px;direction:ltr;text-align:left;font-size:18px}