واحدهای نمای بزرگ، کوچک و پویا

واحدهای CSS جدید که نمایانگرهای موبایل را با نوار ابزار پویا به حساب می‌آورند.

نمای و واحدهای آن

برای اندازه‌گیری چیزی به بلندی پنجره دید، می‌توانید از واحدهای vw و vh استفاده کنید.

  • vw = 1٪ از عرض اندازه نمای.
  • vh = 1٪ از ارتفاع اندازه نمای.

به یک عنصر عرض 100vw و ارتفاع 100vh در ساعت بدهید تا دید درگاه را به طور کامل پوشش دهد.

یک عنصر آبی روشن 100vw در 100vh تنظیم شده است که کل نمای را پوشش می دهد. نمای خود با استفاده از یک حاشیه آبی رنگ نشان داده شده است.
یک عنصر آبی روشن 100vw در 100vh تنظیم شده است که کل نمای را پوشش می دهد.
نمای خود با استفاده از یک حاشیه آبی رنگ نشان داده شده است.

واحدهای vw و vh در مرورگرهایی با این واحدهای اضافی فرود آمدند

  • vi = 1% از اندازه محور درون خطی درگاه نمایش.
  • vb = 1٪ از اندازه محور بلوک viewport.
  • vmin = کوچکتر از vw یا vh .
  • vmax = بزرگتر از vw یا vh .

این واحدها پشتیبانی خوبی از مرورگر دارند.

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

  • 20
  • 12
  • 19
  • 6

نیاز به واحدهای نمای جدید

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

اگرچه اندازه ویوپورت می تواند تغییر کند، اندازه های vw و vh تغییر نمی کنند. در نتیجه، عناصری با اندازه 100vh در ساعت از نمای دید خارج می شوند.

100vh در تلفن همراه در بارگذاری خیلی زیاد است.
100vh در تلفن همراه در بارگذاری خیلی زیاد است.

هنگام اسکرول کردن به پایین، این نوار ابزارهای پویا جمع می شوند. در این حالت، عناصری با اندازه 100vh در ساعت، کل نمای را پوشش خواهند داد.

100vh در تلفن همراه زمانی که رابط های کاربری User-Agent جمع شوند، "صحیح" است.
100vh در تلفن همراه زمانی که رابط های کاربری User-Agent جمع شوند، "صحیح" است.

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

  • نمای بزرگ : اندازه پورت دید با فرض اینکه هر رابط UA که به صورت پویا گسترش یافته و جمع می شود تا جمع شود.
  • Small Viewport : اندازه نما با فرض اینکه هر رابط UA که به صورت پویا گسترش یافته و جمع می شود تا بسط داده شود.
تجسم نماهای بزرگ و کوچک.
تجسم نماهای بزرگ و کوچک.

ویوپورت های جدید همچنین دارای واحدهایی هستند که به آنها اختصاص داده شده است:

  • واحدهایی که نمای بزرگ را نشان می دهند دارای پیشوند lv هستند. واحدها lvw ، lvh ، lvi ، lvb ، lvmin و lvmax هستند.
  • واحدهایی که نمای کوچک را نشان می دهند دارای پیشوند sv هستند. واحدها svw , svh , svi , svb , svmin و svmax هستند .

اندازه‌های این واحدهای درصد مشاهده ثابت (و در نتیجه پایدار) هستند، مگر اینکه اندازه خود درگاه نمایش تغییر کند.

دو تجسم مرورگر تلفن همراه در کنار یکدیگر قرار گرفته اند. یکی دارای یک عنصر به اندازه 100svh و دیگری 100lvh است.
دو تجسم مرورگر تلفن همراه در کنار یکدیگر قرار گرفته اند.
یکی دارای یک عنصر به اندازه 100svh و دیگری 100lvh است.

علاوه بر نمای بزرگ و کوچک، یک نمای پویا نیز وجود دارد که رابط کاربری UA را در نظر می‌گیرد:

  • هنگامی که نوار ابزار پویا گسترش می یابد، نمای پویا برابر با اندازه نمای کوچک است.
  • هنگامی که نوار ابزار پویا جمع می شود، نمای پویا برابر با اندازه نمای بزرگ است.

واحدهای همراه آن دارای پیشوند dv هستند: dvw ، dvh ، dvi ، dvb ، dvmin و dvmax . اندازه آنها بین همتایان lv* و sv* خود گیره می شود.

100dvh خود را به اندازه بزرگ یا کوچک ویوپورت تطبیق می دهد.
100dvh خود را به اندازه بزرگ یا کوچک ویوپورت تطبیق می دهد.

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

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

  • 108
  • 108
  • 101
  • 15.4

هشدارها

چند نکته در مورد واحدهای Viewport وجود دارد:

  • هیچ یک از واحدهای viewport اندازه نوارهای اسکرول را در نظر نمی گیرند. در سیستم‌هایی که نوارهای اسکرول کلاسیک را فعال کرده‌اند، یک عنصر با اندازه 100vw کمی بیش از حد گسترده خواهد بود. این طبق مشخصات است.

  • مقادیر نمای پویا با سرعت 60 فریم بر ثانیه به روز نمی شوند. در همه مرورگرها، با گسترش یا جمع شدن رابط کاربری UA، به‌روزرسانی متوقف می‌شود. حتی برخی از مرورگرها بسته به حرکت مورد استفاده (پیمایش آهسته در مقابل سوایپ) به‌روزرسانی را حذف می‌کنند.

  • صفحه کلید روی صفحه (که به عنوان صفحه کلید مجازی نیز شناخته می شود) بخشی از رابط کاربری UA محسوب نمی شود. بنابراین بر اندازه واحدهای viewport تأثیر نمی گذارد. در Chrome می‌توانید رفتاری را انتخاب کنید که در آن وجود صفحه‌کلید مجازی بر واحدهای درگاه دید تأثیر می‌گذارد .

منابع اضافی

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

مطالب خواندنی اضافی:

بخشی از سری جدید قابلیت همکاری