هنگام ایجاد یک وب سایت، لزوماً نیازی به سبک دادن به متن خود ندارید. HTML در واقع دارای یک سبک پیش فرض بسیار معقول است.
با این حال، متن به احتمال زیاد اکثریت وب سایت شما را تشکیل می دهد، بنابراین ارزش آن را دارد که برای زیباتر کردن آن، سبکی اضافه کنید. با تغییر چند ویژگی اساسی، می توانید تجربه خواندن را برای کاربران خود به میزان قابل توجهی بهبود بخشید!
در این ماژول، با قانون @font-face شروع می کنیم که به شما امکان می دهد فونت های سفارشی را در صفحات وب خود وارد کنید. این تضمین می کند که تایپوگرافی دقیقی را که نیاز دارید، مستقل از فونت های نصب شده توسط کاربر دارید.
پس از آن، ویژگیهای ضروری فونت CSS از جمله font-family ، font-style ، font-weight و font-size پوشش خواهیم داد. این اصول مقدماتی را برای دستکاری متن برای سبک و خوانایی آماده می کند.
قبل از پایان دادن به موضوعات پیشرفته مانند فونت های متغیر و شبه عناصر، که کنترل تایپوگرافی شما را بیشتر بهبود می بخشد، ویژگی های خاص پاراگراف مانند text-indent و word-spacing نیز لمس خواهیم کرد.
مثالها و نکات عملی برای تقویت درک و کاربرد شما از این تکنیکهای CSS ارائه میشود.
قانون @font-face
@font-face CSS at-rule در طراحی وب بسیار مفید است و به شما امکان می دهد فونت های سفارشی را برای نمایش متن مشخص کنید و از آنها استفاده کنید. زیبایی @font-face در تطبیق پذیری آن است: به شما امکان می دهد فونت ها را از یک سرور راه دور یا از فونت نصب شده روی دستگاه کاربر تهیه کنید.
منبع فونت را مشخص می کند، چه محلی و چه از راه دور. این برای قانون @font-face لازم است. ترکیب url() و local() در src یک استراتژی رایج است که در صورت موجود بودن از فونت محلی استفاده می کند و به عنوان یک فایل بک به یک فایل فونت راه دور برمی گردد. مرورگرها منابع را بر اساس ترتیب اعلان اولویت بندی می کنند، بنابراین local() معمولا باید قبل از url() باشد.
کاراکترهایی که این فونت باید برای آنها استفاده شود را محدود می کند.
توضیحات
@font-face طراحان را با استفاده از تایپوگرافی سفارشی از محدودیتهای فونتهای "ایمن برای وب" رها میکند. توانایی تابع local() برای جستجوی فونت در دستگاه کاربر یک تجربه یکپارچه را ارائه می دهد که لزوماً به اتصال اینترنت بستگی ندارد.
انواع فونت MIME
قالب
نوع MIME
TrueType
font/ttf
OpenType
font/otf
قالب فونت باز وب
font/woff
قالب فونت باز وب 2
font/woff2
تفاوت بین @font-face و font-family
در CSS، @font-face و font-family اغلب با هم اشتباه گرفته میشوند، اما اهداف متفاوتی را دنبال میکنند.
همانطور که بحث کردیم، @font-face قانونی است که برای تعریف فونت های سفارشی که می خواهید در برنامه وب خود استفاده کنید، استفاده می شود. به مرورگر میگوید که فونت را از کجا دانلود کند، چگونه آن را در حین بارگیری نمایش دهد (با ویژگی font-display )، و مشخص میکند کدام زیر مجموعه از کاراکترها را دانلود کند (با unicode-range ).
در مقابل، font-family یک ویژگی CSS است که در یک قانون CSS برای اختصاص یک فونت خاص یا لیستی از فونت ها به یک عنصر استفاده می شود. فونت های فهرست شده در زیر font-family می توانند فونت های ایمن وب، فونت های سیستمی یا فونت های سفارشی تعریف شده با @font-face باشند.
به طور خلاصه، @font-face یک فونت را اعلام می کند و به آن نام می دهد، و font-family این فونت اعلام شده را روی عناصر HTML اعمال می کند.
در این مثال، @font-face «CustomFont» را تعریف میکند و به مرورگر میگوید کجا آن را پیدا کند. سپس ویژگی font-family آن را روی عنصر بدنه اعمال میکند و اگر «CustomFont» در دسترس نباشد، Arial بهعنوان بازگشتی بهکار میرود.
از font-family برای تغییر تایپ متن خود استفاده کنید.
ویژگی font-family فهرستی از رشتهها را میپذیرد که با کاما از هم جدا شدهاند، که به خانوادههای فونت خاص یا عمومی اشاره دارد. خانواده فونتهای خاص رشتههای نقلقولی هستند، مانند «Helvetica»، «EB Garamond»، یا «Times New Roman». خانواده فونت های عمومی کلمات کلیدی مانند serif ، sans-serif ، و monospace هستند ( لیست کامل گزینه ها را در MDN بیابید). مرورگر اولین فونت موجود را از لیست ارائه شده نمایش می دهد.
هنگام استفاده از font-family ، در صورتی که مرورگر کاربر فونت های دلخواه شما را نداشته باشد، باید حداقل یک خانواده فونت عمومی را مشخص کنید. به طور کلی، خانواده فونتهای عمومی باید مشابه فونتهای ترجیحی شما باشد: در صورت استفاده از font-family: "Helvetica" (یک خانواده فونت sans-serif)، بازگشت شما باید sans-serif باشد تا مطابقت داشته باشد.
برای تنظیم «جسارت» متن font-weight استفاده کنید. این ویژگی مقادیر کلیدواژه ( normal ، bold )، مقادیر نسبی کلمه کلیدی ( lighter ، bolder ) و مقادیر عددی ( 100 تا 900 ) را میپذیرد.
کلمات کلیدی normal و bold به ترتیب معادل مقادیر عددی 400 و 700 هستند.
کلمات کلیدی lighter و bolder نسبت به عنصر والد محاسبه می شوند. برای نمودار مفیدی که نحوه تعیین این مقدار را نشان می دهد، به معنی وزن های نسبی MDN مراجعه کنید.
font-size برای کنترل اندازه عناصر متن خود استفاده کنید. این ویژگی مقادیر طول، درصد و تعداد انگشت شماری از مقادیر کلیدواژه را می پذیرد.
علاوه بر مقادیر طول و درصد، font-size برخی از مقادیر مطلق کلمه کلیدی ( xx-small ، x-small ، small ، medium ، large ، x-large ، xx-large ) و چند مقدار نسبی کلمه کلیدی ( smaller ، larger ) را می پذیرد. مقادیر نسبی نسبت به font-size عنصر والد است.
line-height برای تعیین ارتفاع هر خط در یک عنصر استفاده کنید. این ویژگی یک عدد، طول، درصد یا کلمه کلیدی normal را می پذیرد. به طور کلی، برای جلوگیری از مشکلات ارثی، توصیه می شود به جای طول یا درصد از عدد استفاده کنید.
برای کنترل مقدار فاصله افقی بین کاراکترها در متن خود از letter-spacing استفاده کنید. این ویژگی مقادیر طولی مانند em , px , و rem را می پذیرد.
توجه داشته باشید که مقدار مشخص شده مقدار فضای طبیعی بین کاراکترها را افزایش می دهد . در نسخه ی نمایشی زیر، سعی کنید یک حرف جداگانه را انتخاب کنید تا اندازه صندوق نامه و نحوه تغییر آن با letter-spacing ببینید.
word-spacing برای افزایش یا کاهش طول فاصله بین هر کلمه در متن خود استفاده کنید. این ویژگی مقادیر طولی مانند em , px , و rem را می پذیرد. توجه داشته باشید که طولی که مشخص می کنید برای فضای اضافی علاوه بر فاصله معمولی است. این بدان معنی است که word-spacing: 0 معادل word-spacing: normal .
از ['text-transform'](https://developer.mozilla.org/docs/Web/CSS/text-transform) برای تغییر حروف بزرگ متن خود بدون نیاز به تغییر HTML اصلی استفاده کنید. این ویژگی مقادیر کلمه کلیدی زیر را میپذیرد: «حروف بزرگ»، «کوچک» و «بزرگنویسی». خطهای زیر، خطوط و خطوط میانی را به متن اضافه کنید
از text-decoration برای افزودن خطوط به متن خود استفاده کنید. خطوط زیر بیشتر مورد استفاده قرار می گیرند، اما این امکان وجود دارد که خطوطی را بالای متن خود یا مستقیماً از طریق آن اضافه کنید!
ویژگی text-decoration مختصری برای ویژگیهای خاصتر است که دقیقاً پیش رو شرح داده شده است.
ویژگی text-decoration-line کلمات کلیدی underline ، overline و line-through می پذیرد. همچنین می توانید چندین کلمه کلیدی را برای چندین خط مشخص کنید.
ویژگی text-decoration-color رنگ تمام دکوراسیون ها را از text-decoration-line تنظیم می کند.
ویژگی text-decoration-style کلیدواژه های solid ، double ، dotted ، dashed و wavy را می پذیرد.
ویژگی text-decoration-thickness هر مقدار طول را میپذیرد و عرض خط تمام تزئینات را از text-decoration-line تنظیم میکند.
ویژگی text-decoration مخفف تمام ویژگی های قبلی است.
text-overflow برای تعیین نحوه نمایش محتوای پنهان استفاده کنید. دو گزینه وجود دارد: clip (پیشفرض)، که متن را در نقطه سرریز کوتاه میکند. و ellipsis ، که یک بیضی (…) را در نقطه سرریز نشان می دهد.
word-break برای تغییر نحوه "شکستن" کلمات در زمانی که آنها از خط سرریز می شوند استفاده کنید. به طور پیش فرض، مرورگر کلمات را تقسیم نمی کند. استفاده از کلمه کلیدی مقدار break-all برای word-break به مرورگر دستور میدهد تا در صورت لزوم کلمات را با نویسههای جداگانه بشکند.
از text-align برای تعیین تراز افقی متن در یک بلوک یا عنصر سلول جدول استفاده کنید. این ویژگی مقادیر کلیدواژه left ، right ، start ، end ، center ، justify و match-parent میپذیرد.
مقادیر left و right متن را به ترتیب در سمت چپ و راست بلوک تراز می کنند.
start و end برای نشان دادن محل شروع و پایان یک خط متن در حالت نوشتن فعلی استفاده کنید. بنابراین، نقشه ها را به زبان انگلیسی به left و با خط عربی که از راست به چپ (RTL) نوشته می شود به سمت rightstart . آنها ترازهای منطقی هستند، در ماژول ویژگی های منطقی ما بیشتر بیاموزید.
از center برای تراز کردن متن با مرکز بلوک استفاده کنید.
مقدار justify متن را سازماندهی می کند و فواصل کلمات را به طور خودکار تغییر می دهد به طوری که متن با هر دو لبه چپ و راست بلوک ردیف می شود.
text-wrap برای تغییر نحوه پیچیده شدن متن در یک عنصر استفاده کنید.
کلیدواژه های پذیرفته شده برای این ویژگی عبارتند از wrap , nowrap , balance , stable . مقدار پیشفرض wrap است که با قرار دادن متن در خطوط در امتداد فضاهای معمولی و شکستن کلمه، سرریز را به حداقل میرساند.
می توانید از کلمه کلیدی nowrap برای رسیدن به نقطه مقابل استفاده کنید و از شکستن متن در خطوط جلوگیری کنید که می تواند باعث سرریز شود.
برای دریافت همان مقدار متن در هر سطر زمانی که مثلاً در حال نوشتن عنوان یا عنوان هستید، از کلمه کلیدی balance استفاده کنید. به منظور بهبود عملکرد، مرورگرها این مقدار را فقط روی عناصری با شش خط متن یا کمتر اعمال میکنند.
کلمه کلیدی stable مانند wrap عمل می کند، اما برای استفاده در متن قابل ویرایش مناسب است. با text-wrap: stable ، خطوط بالای محتوای در حال ویرایش در این فرآیند تغییر نمیکنند.
گاهی اوقات رشته های بلند بدون نقطه شکست واضح می توانند ظروف را سرریز کنند. برای کنترل نحوه شکسته شدن این نوع متن، از overflow-wrap استفاده کنید.
کلیدواژههایی که میتوانید برای این ویژگی استفاده کنید عبارتند از: normal ، break-word و anywhere . تنظیم پیشفرض normal است و متن را به خط بعدی تبدیل نمیکند مگر اینکه شامل فاصلهها یا نقاط شکست طبیعی باشد.
مقادیر anywhere و break-word نقاط شکست را در هر نقطه از رشته اضافه می کنند تا از سرریز شدن آن جلوگیری شود. کلمات کلیدی در نحوه واکنش آنها به اندازه min-content ذاتی یا صریح متفاوت است. کلمه کلیدی anywhere به همه فرصت های ممکن برای شکستن نرم اجازه می دهد. ارزش break-word اینطور نیست و متن را تا طولانی ترین کلمه طولانی می کند.
direction برای تنظیم جهت متن خود استفاده کنید، ltr (از چپ به راست، پیش فرض) یا rtl (راست به چپ). برخی از زبان ها مانند عربی، عبری یا فارسی از راست به چپ نوشته می شوند، بنابراین direction: rtl باید استفاده شود. برای انگلیسی و سایر زبانهای چپ به راست، direction: ltr استفاده کنید.
writing-mode برای تغییر نحوه جریان و چیدمان متن استفاده کنید. حالت پیشفرض horizontal-tb است، اما میتوانید برای متنی که میخواهید به صورت افقی جریان یابد، writing-mode روی vertical-lr یا vertical-rl تنظیم کنید.
برای تعیین جهت کاراکترهای متن خود از جهت text-orientation استفاده کنید. مقادیر معتبر برای این ویژگی mixed و upright است. این ویژگی تنها زمانی مرتبط است که writing-mode روی چیزی غیر از horizontal-tb تنظیم شده باشد.
به طور معمول، فونتهای «عادی» نیاز به وارد کردن فایلهای مختلف برای نسخههای مختلف حروف، مانند پررنگ، ایتالیک یا فشرده دارند. فونت های متغیر فونت هایی هستند که می توانند انواع مختلفی از یک تایپ فیس را در یک فایل داشته باشند.
از شبه عنصر ::selection برای تغییر ظاهر متن انتخاب شده توسط کاربر استفاده کنید.
هنگام استفاده از این شبه عنصر، فقط میتوان از ویژگیهای خاص CSS استفاده کرد: color ، background-color ، text-decoration متن، text-shadow ، stroke-color ، fill-color ، stroke-width .
تاریخ آخرین بهروزرسانی 2021-11-23 بهوقت ساعت هماهنگ جهانی.
[[["درک آسان","easyToUnderstand","thumb-up"],["مشکلم را برطرف کرد","solvedMyProblem","thumb-up"],["غیره","otherUp","thumb-up"]],[["اطلاعاتی که نیاز دارم وجود ندارد","missingTheInformationINeed","thumb-down"],["بیشازحد پیچیده/ مراحل بسیار زیاد","tooComplicatedTooManySteps","thumb-down"],["قدیمی","outOfDate","thumb-down"],["مشکل ترجمه","translationIssue","thumb-down"],["مشکل کد / نمونهها","samplesCodeIssue","thumb-down"],["غیره","otherDown","thumb-down"]],["تاریخ آخرین بهروزرسانی 2021-11-23 بهوقت ساعت هماهنگ جهانی."],[],[]]