تنظیمات صفحه نمایش

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

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

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

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

مونتاژ تلفن های تاشو در پیکربندی های مختلف.

دو صفحه نمایش

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

وب سایتی که در دو صفحه نمایش قرار دارد. جریان افقی متن توسط لولای بین صفحه‌ها قطع می‌شود.

بخش های Viewport

یک ویژگی رسانه آزمایشی وجود دارد که برای تشخیص اینکه آیا وب سایت شما در یک دستگاه دو صفحه نمایش نمایش داده می شود طراحی شده است. نام پیشنهادی ویژگی رسانه viewport-segments است. دو نوع وجود دارد: horizontal-viewport-segments vertical-viewport-segments .

اگر ویژگی رسانه horizontal-viewport-segments مقدار 2 و vertical-viewport-segments مقدار 1 را گزارش می دهد، به این معنی که لولای دستگاه از بالا به پایین اجرا می شود و محتوای شما را به دو پانل کنار هم تقسیم می کند.

@media (horizontal-viewport-segments: 2) and (vertical-viewport-segments: 1) {
  // Styles for side-by-side screens.
}

اگر ویژگی رسانه vertical-viewport-segments مقدار 2 و horizontal-viewport-segments مقدار 1 را گزارش کند، لولا از یک طرف به طرف دیگر اجرا می شود و محتوای شما را به دو پانل، یکی روی دیگری تقسیم می کند.

@media (vertical-viewport-segments: 2) and (horizontal-viewport-segments: 1) {
  // Styles for stacked screens.
}
نموداری که بخش های پورت دید را نشان می دهد.
نمودار از Microsoft Edge Explainers .

اگر هر دو بخش vertical-viewport-segments و horizontal-viewport-segments مقدار 1 را گزارش کنند، این بدان معناست که وب سایت فقط در یک صفحه نمایش داده می شود، حتی اگر دستگاه بیش از یک صفحه داشته باشد. این معادل استفاده نکردن از هرگونه درخواست رسانه ای است.

متغیرهای محیطی

ویژگی رسانه viewport-segments به خودی خود به شما کمک نمی کند تا پیرامون آن لولای آزاردهنده طراحی کنید. شما به راهی برای دانستن اندازه لولا نیاز دارید. اینجاست که متغیرهای محیطی می توانند کمک کنند.

متغیرهای محیطی در CSS به شما این امکان را می‌دهند که نفوذهای ناخوشایند دستگاه را در سبک‌های خود فاکتور بگیرید. برای مثال، می‌توانید با استفاده از مقادیر محیطی safe-area-inset-top , safe-area-inset-right , safe-area-inset-bottom و safe-area-inset-left اطراف "نچ" آیفون X را طراحی کنید. . این کلمات کلیدی در یک تابع env() پیچیده شده اند.

body {
  padding-top: env(safe-area-inset-top);
  padding-right: env(safe-area-inset-right);
  padding-bottom: env(safe-area-inset-bottom);
  padding-left: env(safe-area-inset-left);
}

متغیرهای محیطی مانند ویژگی های سفارشی کار می کنند. این به این معنی است که در صورتی که متغیر محیطی وجود نداشته باشد، می‌توانید از گزینه بازگشتی عبور کنید.

body {
  padding-top: env(safe-area-inset-top, 1em);
  padding-right: env(safe-area-inset-right, 1em);
  padding-bottom: env(safe-area-inset-bottom, 1em);
  padding-left: env(safe-area-inset-left, 1em);
}

برای اینکه آن متغیرهای محیطی در iPhone X کار کنند، عنصر meta را که اطلاعات viewport را مشخص می کند، به روز کنید:

<meta name="viewport" content="width=device-width, initial-scale=1, viewport-fit=cover">

اکنون طرح‌بندی صفحه شما کل نمای را اشغال می‌کند و به‌طور ایمن سند را با مقادیر ورودی ارائه‌شده توسط دستگاه پر می‌کند.

برای صفحه نمایش های تاشو، شش متغیر محیطی جدید پیشنهاد شده است: viewport-segment-width ، viewport-segment-height ، viewport-segment-top ، viewport-segment-left ، viewport-segment-bottom ، viewport-segment-right .

نموداری که متغیرهای محیطی را برای دو صفحه نمایش نشان می دهد.
نمودار از Microsoft Edge Explainers .

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

@media (min-width: 45em) {
  main {
    display: flex;
    flex-direction: row;
  }
  main article {
    flex: 2;
  }
  main aside {
    flex: 1;
  }
}

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

برای صفحات دوگانه با لولای عمودی، ستون اول را به اندازه عرض صفحه اول و ستون دوم را به اندازه عرض صفحه دوم تنظیم کنید.

@media (horizontal-viewport-segments: 2) and (vertical-viewport-segments: 1) {
  main article {
    flex: 1 1 env(viewport-segment-width 0 0);
  }
  main aside {
    flex: 1;
  }
}

طرح به طور مساوی در دو صفحه بدون وقفه قابل مشاهده تقسیم می شود.

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

نموداری که یک سرویس موقعیت مکانی را به دو صفحه تقسیم می کند، با نقشه در یک صفحه و جهت ها در صفحه دیگر.
نمودار از Microsoft Edge Explainers .

آینده

آیا نمایشگرهای تاشو به چیز بزرگ بعدی تبدیل خواهند شد؟ چه کسی می داند. هیچ‌کس نمی‌توانست پیش‌بینی کند که دستگاه‌های تلفن همراه چقدر محبوب خواهند شد، بنابراین ارزش آن را دارد که در مورد عوامل شکل آینده ذهن باز داشته باشیم.

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

درک خود را بررسی کنید

دانش خود را در مورد تنظیمات صفحه آزمایش کنید

کدام پرسش رسانه ای یک دستگاه تاشو را در حالت افقی تقسیم شده هدف قرار می دهد؟

@media (horizontal-viewport-segments: 2) and (vertical-viewport-segments: 1)
صفحه نمایش با 2 ستون و 1 ردیف، منظره تقسیم شده پیکربندی شده است.
@media (vertical-viewport-segments: 2) and (horizontal-viewport-segments: 1)
2 ردیف و 1 ستون، پرتره تقسیم شده.
@media (vertical-viewport-segments: 2) and (horizontal-viewport-segments: 2)
2 سطر و 2 ستون، 4 راه تقسیم کنید.
@media (vertical-viewport-segments: 1) and (horizontal-viewport-segments: 1)
تک سلولی بدون انشعاب

متغیرهای محیطی چیست؟ به عنوان مثال env(safe-area-inset-top)

متغیرهای مربوط به آب و هوای کاربر.
محیط اشتباه، این متغیرهای CSS در مورد محیط دنیای فیزیکی کاربر نیستند.
متغیرهای زمان ساخت سفارشی
در حالی که زمان ساخت، روش کامپایل شده، متغیرها مفید هستند، آنها با متغیرهای محیطی مشخص شده یکسان نیستند.
متغیرهای حاوی ویژگی‌های خاص مرورگر برای استفاده در تنظیم سایت با آن مرورگر و دستگاه.
این روشی است برای مرورگر و نویسنده برای همکاری در زمینه‌های دید منحصر به فرد یا ویژگی‌های تأثیرگذار مرورگر.
متغیرهایی که سبز شده اند و برای محیط زیست ایمن تر هستند.
CSS و متغیرهای آن نمی توانند کمتر بر آلودگی جهان تأثیر بگذارند.