یوشا

دست نوشته ها و تجربیات شخصی

یوشا

دست نوشته ها و تجربیات شخصی

شهید دکتر مصطفی چمران: می گویند تقوا از تخصص لازمتر است، آنرا می پذیرم، اما می گویم آنکس که تخصص ندارد و کاری را می پذیرد بی تقواست!

طبقه بندی موضوعی
تبلیغات
Blog.ir بلاگ، رسانه متخصصین و اهل قلم، استفاده آسان از امکانات وبلاگ نویسی حرفه‌ای، در محیطی نوین، امن و پایدار bayanbox.ir صندوق بیان - تجربه‌ای متفاوت در نشر و نگهداری فایل‌ها، ۳ گیگا بایت فضای پیشرفته رایگان Bayan.ir - بیان، پیشرو در فناوری‌های فضای مجازی ایران

در CSS، واحدهای سایز به دو دسته/خانواده اصلی تقسیم می‌شوند:

  1. واحدهای ثابت/Absolute
  2. واحدها متغیر/Relative

 

واحدهای ثابت (Absolute units)

واحدهای ثابت/مطلق به صورت خشک تعریف شده‌ اند و سایز مشخص‌ شده با این واحدها دقیقاً همان اندازه نمایش داده می‌ شود. این واحدها نسبت به اندازه صفحه، جهت یا سایر تغییرات واکنش نشان نمی‌ دهند.

واحدهای ثابت برای استفاده در انواع نمایشگرها توصیه نمیشوند، چراکه اندازه صفحه نمایشها متفاوت است؛ اما در صورتی که محیط خروجی مشخص باشد (مانند Printer)، این واحدها میتوانند مفید باشند.

انواع واحدهای ثابت:

  • cm (سانتی‌ متر)
  • mm (میلی‌ متر)
  • in (اینچ)
  • px (پیکسل)
  • pt (پوینت)
  • pc (پیکا)
  • q (یک چهارم میلی‌ متر)

مثال:

/* یک باکس با عرض 2 سانتی‌ متر */
.box {
    width: 2cm;
    height: 2cm;
    background-color: lightblue;
}

/* متن با اندازه فونت ثابت 12 پوینت */
.text {
    font-size: 12pt;
}

 

واحدهای متغیر (Relative units)

واحدهای متغیر/مقیاس پذیر سایز را بصورت خودکار و نسبت به ویژگیهای دیگر مانند اندازه صفحه نمایش، اندازه صفحه مرورگر، عناصر والد/parent و... تنظیم میکنند. این واحدها در بین انواع دستگاه های مختلف بهتر scale و تنظیم میشوند.

انواع واحد های متغیر:

  • em : نسبت به اندازه فونت عنصر والد تنظیم میشود
  • ex : نسبت به ارتفاع x در فونت جاری، که برای فونتهای تک‌ فاصله مفید است تنظیم میشود
  • ch : نسبت به عرض کاراکتر "0" در فونت عنصر، برای فونت‌ های تک‌ فاصله کاربرد دارد
  • rem : نسبت به اندازه فونت عنصر ریشه (<html>)
  • vw : نسبت به ۱٪ از عرض پنجره مرورگر
  • vh : نسبت به ۱٪ از ارتفاع پنجره مرورگر
  • vmin : نسبت به ۱٪ از کوچک‌ ترین بُعد پنجره مرورگر
  • vmax : نسبت به ۱٪ از بزرگ‌ ترین بُعد پنجره مرورگر
  • % : نسبت به عنصر والد تنظیم میشود

 

توضیحات تکمیلی واحدهای مهم

  • px (پیکسل) - ثابت

    • پیکسل یک مربع کوچک روی نمایشگر است که می‌تواند فقط یک رنگ را در یک لحظه نمایش دهد. مانند عدد رزولوشن نمایشگر که نشان‌ دهنده تعداد پیکسل‌ های تشکیل‌  دهنده صفحه است. 1024x768
    • font-size: 12px; به مرورگر می‌ گوید که ارتفاع هر کاراکتر ۱۲ عدد پیکسل باشد. پیکسل ها اندازه ثابتی دارند و تغییر اندازه نمی‌ دهند. این واحد برای مواقعی که نیاز به قرار دادن متن روی یک تصویر پس‌ زمینه دارید، مفید است.
  • % (درصد) - متغیر

    • درصد یک واحد متغیر است که بر اساس اندازه عنصر والد محاسبه می‌شود. برای تعیین عرض یا ارتفاع عناصر، زمانی که والد مشخص باشد، می‌ تواند به عنوان راهی منعطف استفاده شود.
    • font-size: 50%; اندازه فونت را به ۵۰٪ اندازه فونت عنصر والد تنظیم میکند.
    • font-size: 100%; یعنی ۱۰۰٪ اندازه‌ ای که از عنصر والد به ارث می برد. درصد برای طراحی‌ های انعطاف‌ پذیر مناسب‌ تر است.
    • در CSS، هر چیزی که از این واحد استفاده کند، نسبت به عنصر والد خود است، مگر در حالتی که موقعیت عنصر ثابت باشد که در آن صورت نسبت به عنصر ریشه <html> خواهد بود.
    • نکته: تعیین width یا height به درصد زمانی عمل نمی‌ کند که ابعاد عنصر والد بطور auto تعیین شده باشد.
  • pt (پوینت) - ثابت

    • ۱ پوینت برابر با ۱/۷۲ اینچ است. font-size: 12pt; ارتفاع کاراکترها را به ۱۲/۷۲ اینچ تنظیم می‌ کند. پوینت اندازه‌ ای ثابت دارد و مقیاس‌ پذیر نیست!
    • پوینت در طراحی Print استفاده می‌شود و تنها در CSS مربوط به @media print کاربرد دارد.
  • em - متغیر

    • این واحد شبیه به درصد است و نسبت به اندازه فونت عنصر والد محاسبه می‌شود. اما ۱em برابر با ۱۰۰٪ و ۱.۵em برابر با ۱۵۰٪ است. em یک واحد مقیاس‌ پذیر است و برای تعیین اندازه فونت مناسب اما چالشی است.
    • یک em برابر با اندازه فونت جاری است، به عنوان مثال اگر اندازه فونت کل صفحه ۱۲pt باشد، ۱em برابر با ۱۲pt خواهد بود. این واحد مقیاس‌ پذیر است؛ بنابراین ۲em برابر با ۲۴pt، ۰.۵em برابر با ۶pt خواهد بود.
  • rem - متغیر

    • واحد rem هم مانند em مقیاس‌ پذیر است اما همیشه نسبت به اندازه فونت عنصر ریشه <html> محاسبه می‌ شود، که باعث می‌ شود از تغییرات ناخواسته در طراحی جلوگیری کند. بنابراین با استفاده از عناصر تودرتو دیگر نیازی به محاسبه اندازه فونت در رابطه با عنصر والد نیست. برای تعیین اندازه فونت مناسب است.
  • cm، mm، in - ثابت
    • معمولاً برای اندازه‌ گیری‌ های دقیق در محیط‌ های غیر دیجیتال و فیزیکی مانند Print به کار می‌ روند. اندازه فونت با تغییر اندازه پنجره مرورگر به صورت دینامیک واکنش نشان نمی‌ دهد، بلکه به تنظیمات زوم یا اندازه متن مرورگر، مانند فشار دادن همزمان کلید Ctrl و + در مرورگر، واکنش نشان می‌دهد.
  • vm. vh. viewport... - متغیر
    • واحدهای vw و vh نسبت به عرض و ارتفاع صفحه نمایش تعریف می‌ شوند. درواقع درصدی از پنجره مرورگر را نشان می‌ دهند و برای طرح‌ های واکنش‌ گرا کاربرد دارند. 1vw معادل ۱٪ از عرض صفحه نمایش و 1vh معادل ۱٪ از ارتفاع صفحه نمایش است. این واحدها به خصوص برای طراحی‌ های تمام‌ صفحه بسیار مفیدند.

مثال:

/* با عرض برابر با 50% از عرض پنجره مرورگر */
.box {
    width: 50vw;
    height: 50vh;
    background-color: lightcoral;
}

 

کاربرد واحدها در عناصر وب

  • px (پیکسل): برای اندازه خطوط مرزی و اجزای کوچک ثابت.

    • کاربرد: <button>, <small>, خطوط و حاشیه‌ ها.
  • % (درصد): برای تنظیم ابعاد نسبی نسبت به عنصر والد، به ویژه در عرض و ارتفاع.

    • کاربرد: <div>, <img>, <section>, <header>, <footer>.
  • em: برای تنظیم اندازه فونت و فاصله‌ های داخلی، با توجه به اندازه فونت والد.

    • کاربرد: <p>, <span>, <ul>, <ol>.
  • rem: برای اندازه فونت اصلی در کل صفحه و مقیاس‌ پذیری یکنواخت، بدون تاثیر از والد.

    • کاربرد: <body>, <h1>, <h2>, <h3>, <html>.
  • vw و vh: برای تنظیم ابعاد نسبی کل صفحه نمایش، به خصوص در طراحی‌ های تمام صفحه.

    • کاربرد: <section>, <header>, <footer>, عناصر تمام صفحه.
  • pt: برای فونت در خروجی چاپ (به ندرت برای وب).

    • کاربرد: فقط در چاپ، مثل استایل تحت @media print.
  • cm, mm, in: برای موارد خاص Print و اندازه‌ گیری دقیق.

    • کاربرد: چاپ و طرح‌ های خاص، مثل استایل‌ های PDF و کارت ویزیت

 

توجه: در اکثر مرورگرها، اندازه پیش‌ فرض فونت ۱۶px است.

۰۳/۱۱/۰۷
یوشا آل ایوب

css

font

tips & tricks

نظرات (۰)

هیچ نظری هنوز ثبت نشده است
کاربران بیان میتوانند بدون نیاز به تأیید، نظرات خود را ارسال کنند.
اگر قبلا در بیان ثبت نام کرده اید لطفا ابتدا وارد شوید، در غیر این صورت می توانید ثبت نام کنید.
شما میتوانید از این تگهای html استفاده کنید:
<b> یا <strong>، <em> یا <i>، <u>، <strike> یا <s>، <sup>، <sub>، <blockquote>، <code>، <pre>، <hr>، <br>، <p>، <a href="" title="">، <span style="">، <div align="">