به سایت ما خوش آمدید . امیدوارم لحظات خوشی را درسایت ما سپری نمایید .

خوش آمدید

هر گونه نظر و پیشنهاد و انتقادی داشتید، در قسمت نظرات اعلام کنید.

موضوعات

 

در واحدهای نسبی یک اندازه طولی نسبت به یک اندازه طولی دیگر محاسبه می شود به همین دلیل به آنها نسبی می گویند.

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

ادامه مطلب
کسب درآمد

 

 

این واحدها در دوسته واحدهای نسبی وابسته به فونت و واحدهای نسبی وابسته به Viewport قرار می گیرند.

 

واحدهای نسبی وابسته به فونت

این واحدها در سی اس اس شامل چهار واحد ch, ex, em و rem می باشند.

استفاده از اینگونه واحدها مزیت های زیادی دارد به عنوان نمونه زمانی که کاربر صفحه را بزرگنمایی می کند دیگر فقط متن بزرگ نمی شود بلکه عناصر نگهدارنده متن هم به همان تناسب بزرگ می شوند و این موضوع برای طراحی های دسترسی پذیر و واکنشگرا بسیار سودمند است.

 

em

این واحد نمایانگر ویژگی font-size می باشد. یعنی 1em برابر مقداری است که برای ویژگی font-size عنصر تعیین می شود.

 


font-size: 20px;
padding: 2em; /* 2*20px = 40px */

 

اگر em برای خود font-size استفاده شود آنگاه برای محسابه کردن em باید به font-size پدر عنصر مورد نظر مراجعه کنیم.

این واحد بطور کامل در مطلب “راهنمای کامل em و rem” شرح داده شده است.

 

ex

از این واحد خیلی به ندرت استفاده می شود. واحد ex بر اساس اندازه ارتفاع کاراکتر x (کوچک) در فونتی که برای عنصر مورد استفاده قرار میگیرد مشخص می شود.

 

واحد ex
اندازه ارتفاع کاراکتر x


 

 

برخی مرورگرها ارتفاع x را دقیقا محاسبه می کنند در حالی که مرورگرهای دیگر برای آن یک مقدار تعیین می کنند که در بیشتر مواقع آن مقدار حدودا 0.5em می باشد.

در مثال زیر ارتفاع خطوط متن را برابر با 230 درصد ارتفاع کاراکتر x قرار می دهیم:

 


p {
  font-family: "Arial", sans-serif;
  line-height: 2.3ex;
}

 

توجه داشته باشید که اگر فونت Arial برای عنصر استفاده شود ارتفاع x آن فونت, مبنا می باشد اما اگر این فونت به هر نحوی در دسترس نباشد و فونت sans-serif برای عنصر استفاده شود اندازه ارتفاع کاراکتر x آن تعیین کننده است.

 

ch

واحد ch بر اساس اندازه عرض کاراکتر 0 (صفر) در فونتی که برای عنصر مورد استفاده قرار میگیرد مشخص می شود.

به عنوان نمونه در مثال زیر فاصله داخلی عنصر را به اندازه 10 برابر کاراکتر صفر فونتش مشخص کرده ایم:

 


.element {  
  padding: 10ch;
}

 

 

rem

این واحد کاملا شبیه به em عمل می کند با این تفاوت که به جای اینکه مبنای آن font-size عنصر مورد نظر باشد, اندازه فونتی است که برای عنصر ریشه یا همان <html> توسط ویژگی font-size تعیین شده است.

برای بررسی کامل این واحد به مطلب “راهنمای کامل em و rem” مراجعه کنید.

 

واحدهای نسبی وابسته به Viewport

این واحدها که شامل چهار واحد vmin, vw, vh و vmax می باشند وابسته به اندازه viewport یا همان قابی از صفحه که که در یک لحظه قابل مشاهده توسط کاربر است می باشند.

زمانی که اندازه viewport تغییر کند باید اندازه این واحدها نیز تغییر کند. برای اینکه موضوع راحت تر درک شود فرض کنید اندازه فونت یک متن را با استفاده از یکی از این واحدها تعیین می کنیم. حال اگر پنجره مرورگر را بزرگ یا کوچک کنیم (که این کار باعث می شود اندازه viewport تغییر کند) باید اندازه متن هم نسبت به تغییرات آن تغییر کند.

حال می توان تصور کرد که چقدر استفاده از این واحدها برای زمانی که واکنشگرا طراحی می کنیم می تواند با ارزش باشد. چراکه این واحدها وابسته به اندازه دستگاه یعنی موبایل, تبلت و غیره تغییر می کنند.

 

vh

vh یا همان viewport height وابسته به ارتفاع viewport است.

یک واحد vh برابر با یک صدم ارتفاع viewport است. یعنی 1vh برابر 1% ارتفاع viewport خواهد بود.

وقتی اندازه فونت یک عنصر را با استفاده از درصد تعیین میکنیم آن درصد بر اساس اندازه فونت عنصر پدرش مورد محاسبه قرار می گیرد.

 


p {
  font-size: 150%;
}

 

یعنی 150 درصد اندازه فونت عنصر پدر پاراگراف.

اما اگر از واحد vh استفاده کنیم دیگر محاسبات کاری به عنصر نگهدارنده ندارد و مستقیما سراغ Viewport می رود. به عنوان نمونه اندازه فونت عنصر پاراگراف زیر برابر 10 درصد ارتفاع viewport می باشد.

فرض کنید ارتفاع viewport برابر با 400 پیکسل باشد داریم:

 


p {
  font-size: 5vh; /* (5*400)/100 = 20px */
}

 

دموی زیر را بصورت تمام صفحه باز کنید و ارتفاع مرورگر را کم و زیاد کنید:

 

 

 

vw

vw یا همان viewport width وابسته به عرض viewport است.

یک واحد vw برابر با یک صدم عرض viewport است. یعنی 1vw برابر 1% عرض viewport خواهد بود.

این واحد کاملا مشابه با واحد vh عمل می کند با این تفاوت که مربوط به عرض viewport است.

اگر از واحد vw استفاده کنیم به عنوان نمونه اندازه فونت عنصر پاراگراف زیر برابر 10 درصد عرض viewport می باشد.

فرض کنید عرض viewport برابر با 400 پیکسل باشد داریم:

 


p {
  font-size: 5vw; /* (5*400)/100 = 20px */
}

 

دموی زیر را بصورت تمام صفحه باز کنید و عرض مرورگر را کم و زیاد کنید:

 

 

 

vmin

واحد vmin برابر با مینیمم واحدهای vh و vw می باشد. یعنی 1vmin برابر با 1 درصد طول بعد کوچکتر viewport می باشد.

در مثال زیر اندازه فونت p برابر با 10 درصد طول بعد کوچکتر viewport خواهد بود:

 


p {
  font-size: 10vmin;
}

 

 

 

vmax

واحد vmax برابر با ماکزیمم واحدهای vh و vw می باشد. یعنی 1vmax برابر با 1 درصد طول بعد بزرگتر viewport می باشد.

در مثال زیر اندازه فونت p برابر با 10 درصد طول بعد بزرگتر viewport می باشد:

 


p {
  font-size: 10vmax;
}

 

 

 

کدام واحد؟

با وجود این تعداد واحدهای مختلف مطلق و نسبی شاید این سوال در ذهن ایجاد شود که آیا از هر کدام برای یک ویژگی خاص در سی اس اس باید استفاده کنیم؟ یا نه؟

جواب این است که می توان از هر یک از این واحدها برای هر ویژگی که اندازه طولی می پذیرد استفاده کرد.

اما باید به چند نکته توجه کنیم:

1. آیا خروجی ما مانیتور و اسکرین ها هستند؟ یا کاغذ, خروجی مد نظر ما می باشد؟

2. آیا واحد مورد نظر توسط مرورگرهایی که پروژه ما باید پشتیبانی کند, پشتیبانی می شود یا نه؟

3. آیا در حال ساختن ماژولی هستیم که باید به راحتی در جاهای دیگر مورد استفاده قرار گیرد و به راحتی بتوانیم اندازه های موجود در آن را تغییر دهیم بدون اینکه به دردسر بیافتیم؟

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

همینطور چنین مطالبی قطعا می توانند به جواب دادن به این سوالات کمک کنند.

همچنین جدول زیر که از این مطلب گرفته شده است را با دقت بررسی کنید:

 

  توصیه می شود در موارد خاص توصیه نمی شود
صفحه نمایش (screen) em, px, % ex pt, cm, mm, in, pc
چاپ em, cm, mm, in, pt, pc, % px, ex  

 

 

پشتیبانی مرورگر ها

برای بررسی پشتیبانی مرورگرها در مورد واحدهای نسبی وابسته به فونت به این آدرس مراجعه کنید.

همچنین در مورد واحدهای نسبی وابسته به viewport جدول زیر گویای مطلب می باشد:

 

 



کسب درآمد
دوشنبه 3 مهر 1396  - 11:40 AM

جستجو

آمار سایت

کل بازدید : 432632
تعداد کل پست ها : 1817
تعداد کل نظرات : 4
تاریخ ایجاد بلاگ : یک شنبه 4 مرداد 1394 
آخرین بروز رسانی : سه شنبه 15 خرداد 1397 

نویسندگان

س . م

امکانات جانبی