واحدها (units)

واحدها در CSS برای اندازه‌گیری‌ها استفاده می‌شن (مثل: طول، عرض، فاصله، فونت، حاشیه و …).
دو نوع اصلی داریم:

  1. واحدهای مطلق (Absolute units) ➝ همیشه ثابت هستن.

  2. واحدهای نسبی (Relative units) ➝ نسبت به عنصر یا صفحه تغییر می‌کنن.

🔹 1. Absolute Units (واحدهای مطلق)

این‌ها همیشه مقدار مشخص دارن و به شرایط صفحه وابسته نیستن:

واحدتوضیحنمونه
pxپیکسل (پرکاربردترین واحد)width: 200px;
cmسانتی‌مترwidth: 5cm;
mmمیلی‌مترheight: 30mm;
inاینچ (1in = 2.54cm)width: 2in;
ptپوینت (1pt = 1/72 inch)font-size: 12pt;
pcپیکا (1pc = 12pt)font-size: 2pc;

📌 بیشتر در طراحی وب، فقط از px استفاده می‌کنیم.

🔹 2. Relative Units (واحدهای نسبی)

این واحدها به شرایط نمایش بستگی دارن (اندازه صفحه، فونت والد و …).

واحدتوضیحنمونه
%درصدی از اندازه والدwidth: 50%;
emنسبت به اندازه فونت والدfont-size: 2em; (دو برابر والد)
remنسبت به اندازه فونت ریشه (html)font-size: 1.5rem;
vwدرصدی از عرض ویوپورت (صفحه)width: 50vw; (نصف عرض صفحه)
vhدرصدی از ارتفاع ویوپورتheight: 100vh; (کل ارتفاع صفحه)
vminمقدار کمتر بین vw و vhfont-size: 5vmin;
vmaxمقدار بیشتر بین vw و vhfont-size: 5vmax;
chعرض کاراکتر 0 در فونت جاریwidth: 40ch;

✅ مثال کاربردی

<!DOCTYPE html> <html lang="fa"> <head> <meta charset="UTF-8"> <title>CSS Units</title> <style> .absolute { width: 300px; height: 100px; background: lightcoral; } .relative { width: 50%; height: 20vh; background: lightblue; } .text { font-size: 2em; /* دو برابر سایز والد */ } .root-text { font-size: 1.5rem; /* نسبت به ریشه (html) */ } </style> </head> <body> <div class="absolute">300px × 100px</div> <div class="relative">50% عرض والد و 20vh ارتفاع صفحه</div> <p class="text">این متن 2em است</p> <p class="root-text">این متن 1.5rem است</p> </body> </html>