🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: pl.comp.www
Article #408464

Re: Wykrywanie urządzeń w RWD. Ile cali ma cal?

#408464
From: NotBear
Date: Sun, 29 May 2016 17:57
60 lines
3492 bytes
W dniu 2016-05-15 o 21:19, Marek pisze:
> Czy ktoś z Was jest w stanie wytłumaczyć mi jak działają piksele na
> urządzeniach mobilnych? [...]

> div {
>      width: 1in;
>      height: 1in;
> }

O fizycznych jednostkach na ekranie lepiej zapomniec. Nie znam metody 
odtworzenia 1:1 fizycznego wymiaru na ekranie bez uprzedniej kalibracji 
monitora czy wyswietlacza. Serwisy, ktore prezentuja czy pozwalaja 
porownywac np telefony w skali naturalnej stosuja najczesciej 
nastepujaca metode kalibracji pocztas pierwszego uzycia: "1) przyloz cos 
o znanym wymiarze (CD, karta kredytowa, banknot) do obrazka na ekranie, 
2) klikaj +/- aż obraz na ekranie pokryje sie z Twoim przedmiotem".


> 96 pikseli na ekranie o szerokości przy gęstości pikseli 493ppi powinny
> dać kwadrat o boku 0.194 cala a nie 2/3 cala jak wyżej napisałem.
>
> Kolejny eksperyment: za pomocą JS zmierzyłem szerokość ekranu (portrait)
> i wyniosła 412px a spodziewałem się 1440px.
>
> O co chodzi????

Potknąłeś się o "pixel-ratio". Przegladarka operuje na abstrakcyjnych 
pikselach CSS-owych ("CSS pixels"). Ktos kiedys sobie policzyl, ze na 
monitorze stojacym w odpowiedniej odleglosci od uzytkownika na jednym 
calu miesci sie 96 pikseli. Taki typowy monitor o gestosci zblizonej do 
96 ppi ma pixel-ratio = 1. Urzadzenia mobilne maja ekrany o duzo 
wyzszych gestosciach i zglaszaja przegladarce wartosci pixel-ratio np. 
2, 3. Nexus 6 ma pixel-ratio = 3.5, dlatego dla przegladarki ekran 
Nexusa 6 ma wymiary 412 x 690 px - kazdy CSS piksel jest "rzutowany" na 
3,5 x 3,5 pikseli fizycznych.

W media queries ekran o duzej gestosci wykrywa sie za pomoca 
nieoficjalnej wlasnosci "device-pixel-ratio" (z prefiksami) lub 
standardowej, choc nie wszedzie wspieranej "resolution", np.

@media
only screen and (-webkit-min-device-pixel-ratio: 2),
only screen and (   min--moz-device-pixel-ratio: 2),
only screen and (     -o-min-device-pixel-ratio: 2/1),
only screen and (        min-device-pixel-ratio: 2),
only screen and (                min-resolution: 192dpi),
only screen and (                min-resolution: 2dppx) {
   /* Retina stuff */
}
Zrodlo: https://css-tricks.com/snippets/css/retina-display-media-query/
Wsparcie: http://caniuse.com/#feat=css-media-resolution


Przy czym wykrywanie gestosci ma sens glownie przy serwowaniu grafik 
dedykowanych dla duzych gestosci, natomiast wymiarujac serwis zwykle 
wystarczy operowac w media queries na przedzialach szerokosci 
zdefiniowanych w CSS pikselach lub jednostkach relatywnych.

-- 
NotBear
Technical Details
Message-ID: <nifahl$ue0$1@node1.news.atman.pl>
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!agh.edu.pl!news.agh.edu.pl!newsfeed2.atman.pl!newsfeed.atman.pl!.POSTED!not-for-mail
References: <nhai4e$rvj$1@news.icm.edu.pl>

Show Full Headers
Complete Article Headers
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!agh.edu.pl!news.agh.edu.pl!newsfeed2.atman.pl!newsfeed.atman.pl!.POSTED!not-for-mail
From: NotBear <paulcomHATESPAM@interia.pl>
Newsgroups: pl.comp.www
Subject: Re: Wykrywanie urządzeń w RWD. Ile cali ma cal?
Date: Sun, 29 May 2016 19:57:09 +0200
Organization: ATMAN - ATM S.A.
Lines: 60
Message-ID: <nifahl$ue0$1@node1.news.atman.pl>
References: <nhai4e$rvj$1@news.icm.edu.pl>
NNTP-Posting-Host: 212.127.64.5
Mime-Version: 1.0
X-Trace: node1.news.atman.pl 1464544629 31168 212.127.64.5 (29 May 2016 17:57:09 GMT)
X-Complaints-To: usenet@atman.pl
NNTP-Posting-Date: Sun, 29 May 2016 17:57:09 +0000 (UTC)
User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:38.0) Gecko/20100101 Thunderbird/38.5.1
In-Reply-To: <nhai4e$rvj$1@news.icm.edu.pl>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit