Ekran yapılandırmaları

Duyarlı web tasarımı, pek çok açıdan cep telefonlarına bir tepkiydi. Akıllı telefonlar ortaya çıkmadan önce, çok az kişi web sitelerinin avuç içi cihazlarda nasıl görüneceğini ve nasıl bir his olacağını ciddiye alıyordu. Yerleşik web tarayıcılarına sahip cep telefonlarının hızlı yükselişi ile bu durum değişti.

Duyarlı web tasarımı, varsayımları sorgulayan bir düşünce yapısını teşvik etti. Daha önce bir web sitesinin yalnızca masaüstü bilgisayarlarda görüntüleneceğini varsaymakla birlikte, artık aynı web sitesini telefon ve tabletler için de tasarlamak standart uygulamadır. Hatta mobil kullanım, artık web'de masaüstü kullanımını geride bıraktı.

Bu duyarlı yaklaşım, gelecekte size çok fayda sağlayacak. Web sitelerinizin günümüzde hayal bile edemediğimiz cihazlarda ve ekranlarda görüntülenmesi tamamen mümkündür. Bu düşünce yapısı, ekranlarla sınırlı değildir. Günümüzde bile içeriklerinize erişmek için ekranı olmayan cihazlar kullanılıyor. Anlamsal HTML için güçlü bir temel kullanıyorsanız sesli asistanlar web sitelerinizi kullanabilir.

Ekran dünyasında da deneysel çalışmalar var. Bugün piyasada katlanabilir ekranlı cihazlar var. Bu durum, tasarımlarınızla ilgili bazı zorlukları beraberinde getirir.

Farklı konfigürasyonlara sahip katlanabilir telefonlardan oluşan bir montaj.

Çift ekranlar

Katlanabilir cihaz kullanıcıları, web tarayıcılarının ekranlardan yalnızca birini kaplamasını veya her iki ekrana birden uzanmasını tercih edebilir. Tarayıcı her iki ekranı da kapsıyorsa, görüntülenen web sitesi iki ekran arasındaki menteşeye göre bölünür. Harika görünmüyor.

İki ekranı kapsayan bir web sitesi. Ekranlar arasındaki menteşe, metnin yatay akışını kesintiye uğratır.

Görünüm segmentleri

Web sitenizin çift ekranlı bir cihazda görüntülenip görüntülenmediğini algılamak için tasarlanmış deneysel bir medya özelliği vardır. Medya özelliğinin önerilen adı viewport-segments. İki türü vardır: horizontal-viewport-segments ve vertical-viewport-segments.

horizontal-viewport-segments medya özelliği 2, vertical-viewport-segments ise 1 değeri bildiriyorsa cihazdaki menteşenin yukarıdan aşağıya doğru çalıştığı ve içeriğiniz yan yana iki panele bölünür.

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

vertical-viewport-segments medya özelliği 2, horizontal-viewport-segments ise 1 değeri bildiriyorsa menteşe bir yandan diğer yana çalışarak içeriğinizi iki panele böler (biri üst tarafta olacak şekilde).

@media (vertical-viewport-segments: 2) and (horizontal-viewport-segments: 1) {
  // Styles for stacked screens.
}
Görüntü alanı segmentlerini gösteren şema.
Microsoft Edge Explainers şeması.

Hem vertical-viewport-segments hem de horizontal-viewport-segments için 1 değeri bildirilirse cihazda birden fazla ekran olsa bile web sitesi yalnızca bir ekranda görüntülenir. Bu, herhangi bir medya sorgusu kullanmamakla eşdeğerdir.

Ortam değişkenleri

viewport-segments medya özelliği tek başına bu rahatsız edici noktayı tasarlamanıza yardımcı olmaz. Menteşenin boyutunu bilmenin bir yolunu bulmanız gerekir. Ortam değişkenleri bu noktada yardımcı olabilir.

CSS'deki ortam değişkenleri, stillerinizde garip cihaz girişlerini hesaba katmanıza olanak tanır. Örneğin, safe-area-inset-top, safe-area-inset-right, safe-area-inset-bottom ve safe-area-inset-left ortam değerlerini kullanarak iPhone X'te "çentik"i temel alarak tasarım yapabilirsiniz. Bu anahtar kelimeler bir env() işlevi içinde sarmalanmış.

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);
}

Ortam değişkenleri özel mülkler gibi çalışır. Bu, ortam değişkeninin mevcut olmaması durumunda bir yedek seçenek iletebileceğiniz anlamına gelir.

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);
}

Bu ortam değişkenlerinin iPhone X'te çalışması için viewport bilgilerini belirten meta öğesini güncelleyin:

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

Artık sayfa düzeniniz tüm görüntü alanını kaplar ve belgeye cihaz tarafından sağlanan set değerleriyle güvenli bir şekilde doldurulur.

Katlanabilir ekranlar için altı yeni ortam değişkeni öneriliyor: viewport-segment-width, viewport-segment-height, viewport-segment-top, viewport-segment-left, viewport-segment-bottom, viewport-segment-right.

Çift ekran için ortam değişkenlerini gösteren şema.
Microsoft Edge Explainers şeması.

Aşağıda, biri diğerinden geniş olan iki sütunlu bir düzen örneği verilmiştir.

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

Düzen, menteşenin daha geniş olan sütunu kesintiye uğratmasıyla iki ekrana bölünmüş.

Dikey menteşesi olan çift ekranlarda, ilk sütunu ilk ekranın genişliği, ikinci sütunu ise ikinci ekranın genişliği olacak şekilde ayarlayın.

@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;
  }
}

Düzen, görünür bir kesinti olmadan iki ekrana eşit olarak bölünür.

Çift ekranı fırsat olarak değerlendirin. Belki bir ekran, kaydırılabilir metin içeriğini görüntülemek için kullanılırken diğeri, resim veya harita gibi sabit bir öğeyi gösterir.

Bir konum hizmetini iki ekrana bölünmüş, bir ekranda harita, diğer ekranda yol tarifi gösteren şema.
Microsoft Edge Explainers şeması.

Gelecek

Katlanabilir ekranlar artık büyük bir cihaz mı olacak? Kim bilir? Mobil cihazların ne kadar popüler olacağını hiç kimse tahmin edemezdi. Dolayısıyla gelecekteki form faktörleri konusunda açık fikirli olmakta fayda vardır.

Her şeyden önemlisi, web sitelerinizin gelecekte karşılaşacakları duruma yanıt verebilmesini sağlamak önemlidir. Duyarlı tasarımın size sunduğu şey budur: Yalnızca bir dizi pratik teknik değil, aynı zamanda yarının web'ini oluşturmanıza yardımcı olacak bir düşünce yapısı da edinirsiniz.

Öğrendiklerinizi sınayın

Ekran yapılandırmalarıyla ilgili bilginizi test edin

Hangi medya sorgusu, katlanabilir cihazları bölünmüş yatay modda hedefler?

@media (horizontal-viewport-segments: 2) and (vertical-viewport-segments: 1)
Yatay olarak bölünmüş 2 sütun ve 1 satırdan oluşan ekran.
@media (vertical-viewport-segments: 2) and (horizontal-viewport-segments: 1)
2 satır ve 1 sütun, dikey olarak bölün.
@media (vertical-viewport-segments: 2) and (horizontal-viewport-segments: 2)
2 satır ve 2 sütun, 4 şekilde bölün.
@media (vertical-viewport-segments: 1) and (horizontal-viewport-segments: 1)
Tek hücre, bölme yok.

Ortam değişkenleri nedir? Ör. env(safe-area-inset-top)

Kullanıcının bulunduğu hava durumuyla ilgili değişkenler.
Yanlış ortamdır, bu CSS değişkenleri kullanıcının içinde bulunduğu fiziksel ortamla ilgili değildir.
Özel derleme süresi değişkenleri.
Derleme süresi ve derlenmiş değişkenler, kullanışlı olsa da belirtilen ortam değişkenleriyle aynı değildir.
Bir siteyi söz konusu tarayıcıya ve cihaza göre ayarlamak için kullanılacak, tarayıcıya özgü özellikler içeren değişkenler.
Bu, tarayıcının ve yazarın benzersiz görüntü alanı bağlamları veya tarayıcıyı etkileyen özellikler üzerinde birlikte çalışmasının bir yoludur.
Yeşil olan ve çevre için daha güvenli olan değişkenler.
CSS ve değişkenleri, dünyadaki kirliliği daha az etkileyemez.