* { box-sizing: border-box; } body {margin: 0;}*{box-sizing:border-box;}body{margin-top:0px;margin-right:0px;margin-bottom:0px;margin-left:0px;}#iv0qp{background -color:rgb(243, 245, 246);}

Ems هنوز بهترین واحدها برای اندازه‌گیری متن در وب هستند. تنها یک دلیل وجود دارد که شما به پیکسل ها تکیه می کنید، و آن این است که شما هنوز به ems دست پیدا نکرده اید. بیایید آن را تغییر دهیم!

M تزئینی توسط فرانسیس مکلود - برنده TypeFight #34M تزئینی توسط فرانسیس مکلود - برنده TypeFight #34M تزئینی توسط فرانسیس مکلود - برنده TypeFight #34

M تزئینی با حسن نیت از فرانسیس مکلود – برنده جایزه TypeFight #34

اندازه همه چیز است

وقتی وب‌سایت‌ها را می‌سازیم، باید به مرورگر بگوییم که چقدر چیزهای «بزرگ» هستند: «این عنوان خیلی بزرگ است»، «این ظرف بسیار زیاد است»، «این فرم گسترده‌تر از آن است»، و نحوه چیدمان صفحه است. پیکسل ها همیشه به عنوان واحد اندازه گیری انتخاب شده کاملا منطقی بوده اند. ما در حال خروجی به یک صفحه نمایش هستیم، پس چه چیز دیگری استفاده کنیم؟!

با این حال، پیکسل ها انعطاف پذیری خاصی ندارند. و معلوم شد که انعطاف ناپذیر بودن برای وب عالی نیست.

مشکلات پیکسل

الیور رایششتاین مدت ها پیش گفته بود:وب 95% تایپوگرافی است“، اما این ایده ای است که طراحان هنوز به آن فکر می کنند. محتوا و کاربران؛ آنها اولویت های ما به عنوان طراحان وب هستند و طراحی تایپوگرافیک به ما کمک می کند تا این اولویت ها را برآورده کنیم.

به لطف بزرگنمایی ساده صفحه، کاربران می‌توانند هر وب‌سایتی را در هر اندازه‌ای که دوست دارند، مشاهده کنند، و محتوا را به‌طور متناسبی به‌طور کامل بالا و پایین می‌کند. اما این ترازو همه چيز، چیدمان و عناصر UI گنجانده شده است.

اما یکی از ویژگی های کمتر شناخته شده اکثر مرورگرها، گزینه تنظیم اندازه فونت دلخواه شماست. این ویژگی به طور مستقل از ویژگی بزرگنمایی صفحه عمل می کند. – کاتلین مک ماهون

مرورگرها کپی بدنه را با اندازه پیش فرض نمایش می دهند. در رایانه های رومیزی این معمولاً 16 پیکسل است، مرورگرهای موبایل متفاوت است. و همانطور که کاتلین می گوید، کاربران می توانند این پیش فرض را بسته به آنچه که ترجیح می دهند تغییر دهند. با این کار اندازه متن و فقط متن را تغییر می دهند.

صفحه تنظیم فونت کرومصفحه تنظیم فونت کرومصفحه تنظیم فونت کروم

اما وقتی طراحان وب از CSS برای ریختن اندازه فونت پایه در سنگ استفاده می کنند.

تنظیم اندازه فونت پیش فرض با cssتنظیم اندازه فونت پیش فرض با cssتنظیم اندازه فونت پیش فرض با css

.. آنها کاربر را از تنظیم تجربه خواندن خود باز می دارند و در نهایت محتوا را کمتر در دسترس قرار می دهند. اگر اندازه فونت شما بر حسب پیکسل تنظیم شده باشد، تنظیمات مرورگر چیزی را تغییر نخواهد داد.

یک اندازه فونت پیش‌فرض انعطاف‌پذیر تنظیم کنید

درس اول بازگرداندن نیرو به کاربر است. کاربران را از تنظیم اندازه نوع خود منع نکنید، اما مطمئن شوید که در یک زمین بازی یکسان شروع کرده اید. فونت پایه خود را 100% تنظیم کنید از پیش فرض مرورگر:

اندازه فونت پایه بر حسب درصد تنظیم شده استاندازه فونت پایه بر حسب درصد تنظیم شده استاندازه فونت پایه بر حسب درصد تنظیم شده است

سپس ما می توانیم از آنجا کار کنیم.

مقیاس تایپوگرافی ما

ما هنوز باید مشخص کنیم که عناصر مختلف تایپوگرافی ما چقدر بزرگ ظاهر می شوند، به خصوص اگر از تکنیک تنظیم مجدد CSS برای حذف تمام اندازه های پیش فرض استفاده کرده باشیم. یک مقیاس مدولار نسبتاً معمولی چیزی شبیه به این است:

مقیاس تایپوگرافی مدولارمقیاس تایپوگرافی مدولارمقیاس تایپوگرافی مدولار

این ارقام قرن‌هاست که برای بهینه‌سازی نسبت‌ها، بدون نیاز به تولید فیزیکی تعداد زیادی از بلوک‌های مورد استفاده در چاپ، محاسبه شده‌اند. همه نوع وجود دارد ریاضیات هوشمندانه که مقیاس‌های این چنینی را توجیه می‌کنند و من مطمئن هستم که می‌توانید درک کنید که این محدوده برای چشم نیز خوشایند است.

ما این مقیاس را به تایپوگرافی خودمان با استفاده از CSS کمی شبیه به این ترجمه می کنیم:

مقیاس در cssمقیاس در cssمقیاس در css

با این حال (همانطور که قبلاً گفتیم) استفاده از مقادیر پیکسل ثابت غیر قابل انعطاف است، بنابراین بیایید آن را اصلاح کنیم.

Em چیست؟

em واحد اندازه گیری است. درست مانند پیکسل ها، ems می تواند اندازه عناصر یک صفحه وب را تعیین کند. برخلاف پیکسل‌ها که مطلق هستند، ems نسبت به اندازه فونت پدر و مادرشان است که سردرگمی زیادی در آن وجود دارد.

1em برابر با اندازه فونت ارثی است. اگر اندازه فونت a <section> روی 16 پیکسل، 1em در آن تنظیم شده است <section> معادل 16 پیکسل است. اگر اندازه فونت آن است <section> به 20px تغییر می کند، 1em در آن <section> معادل 20 پیکسل است.

Ems نام خود را از چاپ گرفته اند. دقیقا زمانی که این اصطلاح برای اولین بار استفاده شد نامشخص است، اما به صورت M (تلفظ می شود امم) از نزدیک نشان دهنده بلوک چاپ مربعی است که حروف چاپی روی آن قرار داده شده است، نام خود را به اندازه گیری نشان می دهد. اندازه نقطه فونت مورد نظر هر چه باشد، بلوک حروف بزرگ M، Em را تعریف می کند.

Em معمولاً یک لمس بزرگتر از شکل حروف است، اما شما ایده را دریافت می کنید.

ریشه های 1emریشه های 1emریشه های 1em
یک M بزرگ در Calendas Plus – مربع اطراف 1 میلی متر ارتفاع، 1 میلی متر عرض است

چگونه پیکسل ها را به Ems تبدیل کنیم

ما قبلاً شروع به تنظیم مقیاس تایپوگرافی خود در پیکسل کرده‌ایم، بنابراین چگونه آن را به ems تبدیل کنیم؟ یک محاسبه ساده که اندازه فونت مورد نظر را در رابطه با اندازه فونت بدنه بیان می کند:

محاسبه ems از روی پیکسلمحاسبه ems از روی پیکسلمحاسبه ems از روی پیکسل

با استفاده از اندازه بدنی که ما 16 پیکسل در نظر می گیریم و هدف آن تبدیل 36 پیکسل است <h1>، ما گرفتیم:

تبدیل px به emتبدیل px به emتبدیل px به em

در اینجا نحوه تبدیل مقیاس ما با استفاده از روش بالا آمده است:

ارزش های جدید ماارزش های جدید ماارزش های جدید ما

برخی از این مقادیر ممکن است کمی پیچیده شوند، اما از دقیق بودن تا حد امکان با اعشار نترسید. مرورگرها همیشه تمام تلاش خود را برای ارائه مقادیر دقیق انجام می دهند.

مفید است که در نظرات یادداشت کنید تا به خودتان یادآوری کنید که چگونه هر مقدار em را محاسبه کرده اید.

مسائل مربوط به آبشار

بزرگترین نارضایتی مردم با ems ناشی از عوارض ناشی از آبشار است. مقدار em نسبت به نزدیکترین مقدار والد خود است، که اگر توجه نکنید می تواند به طور تصادفی همه چیز را به هم بزند. به css زیر نگاهی بیندازید، که هدف آن اندازه‌گیری لنگرها و پاراگراف‌ها به یک اندازه است:

مشکلات آبشاریمشکلات آبشاریمشکلات آبشاری

حالا به این قطعه نشانه گذاری بی گناه نگاهی بیندازید:

نشانه گذاری بی گناهنشانه گذاری بی گناهنشانه گذاری بی گناه

همانطور که انتظار دارید، همه چیز به خوبی در مرورگر ظاهر می شود. هم پاراگراف و هم لنگر با اندازه 1.2em، نسبت به اندازه فونت بدنه نمایش داده می شوند. (1.2 * 16px = 19.2px).

رندر عادی نشانه گذاریرندر عادی نشانه گذاریرندر عادی نشانه گذاری

با این حال، اگر بخواهیم لنگر دوم را معرفی کنیم در داخل پاراگراف، بیایید ببینیم چه اتفاقی می افتد:

لنگر درون پاراگراف اندازه قلم نسبی را به ارث می بردلنگر درون پاراگراف اندازه قلم نسبی را به ارث می بردلنگر درون پاراگراف اندازه قلم نسبی را به ارث می برد

اندازه لنگر درون پاراگراف هنوز 1.2em است، اما اکنون نسبت به پاراگراف والد است که در حال حاضر 19.2px است – (1.2 * 19.2px = 23.04px). این به ما لنگرهای بزرگی در برخی از قسمت‌های صفحه ما می‌دهد. به سختی مطلوب

موارد فهرست تودرتو در منوهای پیمایش نمونه کلاسیکی هستند که نشان می دهد آبشار می تواند از کنترل خارج شود – مراقب آن مورد باشید.

رفع

هیچ راه حلی برای این وجود ندارد. آخرین کاری که می خواهید انجام دهید اضافه کردن یک قانون اضافی برای کاهش اندازه لنگرها است که اتفاقاً در پاراگراف ها وجود دارد – این یک بلیط یک طرفه به Migrainesville است. به منظور حفظ CSS و HTML خود، مهم است که آن را ساده نگه دارید.

  • نشانه گذاری خود را ساده و مدولار نگه دارید.
  • Ems خود را به وضوح و به شکلی محدود تعریف کنید – آنها را در همه جا پرتاب نکنید.
  • سعی کنید اندازه فونت را به عناصر تایپوگرافی محدود کنید. در اعمال اندازه فونت به عناصر ساختاری محتاط باشید.

این باید کمک کند! استفاده از Ems به این معنی است که گاهی اوقات باید به سختی فکر کنید، اما انجام این کار شما را مجبور می کند تا عمل خود را تمیز کنید و در کدنویسی خود کارآمد باشید.

Rems

Rems مفید هستند و دقیقاً مانند ems رفتار کنید، بدون آبشار. هر Rem که تعریف می کنید نسبت به اندازه فونت بدنه است. پشتیبانی است آنقدر که این روزها نیاز دارید.

در مورد استفاده از Ems در جاهای دیگر چطور؟

ما CSS را پوشش داده ایم font-size ویژگی؛ اولین قدم معقول برای استفاده از ems است، اما اکنون بیایید به آن نگاه کنیم line-height. اگر تا به حال خاصیتی وجود داشته باشد که فریاد بزند “از مقادیر پیکسل استفاده نکنید”، آن خط ارتفاع است.

در این مورد ما در واقع بهتر است از a استفاده کنیم ارزش بدون واحد. درست است، فقط یک عدد. بدون پیکسل یا ems یا هیچ چیز. مقادیر بدون واحد تنها راه تضمین این است که فرزندان یک عنصر یک خویشاوند را به ارث می برند line-height. حتی استفاده از ems می تواند به این معنی باشد که الف مقدار محاسبه شده به عناصر تودرتو منتقل می شود.

هیچ قانون ثابتی برای اینکه ارتفاع خط چقدر باید بزرگ باشد وجود ندارد، اما 1.5 یک مقدار معقول برای امتحان است و تایپوگرافی شما را به خوبی خوانا می کند.

مقادیر بدون واحد در ارتفاع خطمقادیر بدون واحد در ارتفاع خطمقادیر بدون واحد در ارتفاع خط
در این مورد، خط ما ارتفاع است 1.5 * 18px که 27 پیکسل است

عناصر ساختاری

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

اگر در مورد چیدمان های سیال صحبت می کنیم، از مقادیر % برای تعیین عرض هر عنصر استفاده کنید، یا اجازه دهید Flexbox و CSS Grid اندازه گیری را برای شما انجام دهند.

اگر بخواهید می توانید به راحتی با ems به فاصله عمودی دست پیدا کنید. باز هم، این مسئله تمیز بودن با نشانه گذاری و استایل شماست. محدود کردن حاشیه ها را در نظر بگیرید پایین از عناصر شما، به طوری که مدیریت ریتم عمودی را آسان تر می کند.

اگر نیاز به تعریف الف دارید height (که در طرح‌بندی‌های انعطاف‌پذیر می‌تواند مشکل باشد) از ems نیز استفاده کنید. شاید شما در حال ساخت یک ناوبری هستید و نیاز دارید که ارتفاع پیوندهای منو را مشخص کنید – آنها باید با اندازه فونت بزرگ و کوچک شوند.

گوشه های گرد روی یک دکمه؟ را تنظیم کنید border-radius با استفاده از ems، بنابراین همه چیز یکپارچه مقیاس می شود. آن را در این قلم تعاملی امتحان کنید. بدن را تغییر دهید font-size تا 200% و ببینید چه اتفاقی برای هر دکمه می افتد.

سایه متن، سایه جعبه، همینطور.

RWD

و اگر نیاز به تغییر اندازه دارید همه چيز تحت شرایط خاص، مانند درگاه های دید کوچکتر؟ اندازه فونت پایه بدنه را در جستجوی رسانه مناسب تغییر دهید body { font-size: 90%; } و وام کل سایت شما در مدت زمانی که طول می کشد تا اینتر را فشار دهید مقیاس می شود.

نتیجه

استفاده از ems را از امروز شروع کنید! محتوای شما از نظر تایپوگرافی است، چه متوجه شوید یا نه. لازم نیست که پیکسل ها را به طور کامل کنار بگذارید، اما شروع به فکر کردن در ems کنید و به زودی متوجه خواهید شد که آنها طراحی های وب شما را انعطاف پذیرتر می کنند.

بیشتر بدانید

رایگان

7.9 ساعت

HTML و CSS برای مبتدیان

در این دوره رایگان، نحوه کدنویسی با HTML و CSS مدرن، بلوک های اصلی هر وب سایت را یاد خواهید گرفت.