was genau ist Gerät-pixel-Verhältnis?
das erwähnt ist, jeden Artikel über das mobile web, aber nirgendwo kann ich eine Erklärung gefunden, was genau macht dieses Attribut zu Messen.
Kann mir jemand bitte erläutern was bedeutet Anfragen wie diese prüfen?
@media only screen and (-webkit-min-device-pixel-ratio: 1.5),
only screen and (min--moz-device-pixel-ratio: 1.5),
only screen and (-o-device-pixel-ratio: 3/2),
only screen and (min-device-pixel-ratio: 1.5) {
//high resolution images go here
}
InformationsquelleAutor ilyo | 2012-01-09
Du musst angemeldet sein, um einen Kommentar abzugeben.
Kurze Antwort
Den device-pixel-Ratio ist das Verhältnis zwischen den physikalischen Pixeln und logische Pixel. Zum Beispiel, das iPhone 4 und iPhone 4S-Bericht ein device pixel ratio von 2, weil die physikalische lineare Auflösung ist doppelt logischen linearen Auflösung.
Die Formel ist:
Wo:
ist die physischen lineare Auflösung
und:
ist die logische lineare Auflösung
Anderen Geräten berichten von unterschiedlichen device-pixel-ratios, einschließlich der nicht-integer ersetzt. Zum Beispiel das Nokia Lumia 1020 berichten 1.6667, das Samsumg Galaxy S4 von berichten 3 und das Apple iPhone 6 Plus-Berichte 2.46 (Quelle: dpilove). Aber dies ändert nichts an der grundsätzlich, als sollten Sie nie design für ein bestimmtes Gerät.
Diskussion
CSS "pixel" ist noch nicht einmal definiert als "ein Bild-element auf einige Bildschirm", sondern vielmehr als eine nicht-lineare, Winkel-mess - von Zoll at arm ' s length. Quelle: CSS Absolute Längen
Dies hat viele Auswirkungen, wenn es darum geht, web-design, wie die Zubereitung von high-definition-Bild-Ressourcen und gezielt anwenden verschiedene Bilder in unterschiedlichen device-pixel-ratios. Sie würde nicht wollen, zu zwingen, eine low-end-Gerät zum download eine sehr hohe Auflösung Bild nur zu verkleinern, es lokal. Sie wollen auch nicht high-end-Geräte der gehobenen Klasse Bilder mit niedriger Auflösung für eine verschwommene user experience.
Wenn Sie stecken bleiben mit bitmap-Bildern, um Platz für viele verschiedene device-pixel-ratios, die Sie verwenden sollten, CSS Media Queries auf unterschiedliche sets von Ressourcen für verschiedene Gruppen von Geräten. Kombinieren Sie diese mit schönen tricks wie
background-size: cover
oder explizit gesetzt werden,background-size
prozentuale Werte.Beispiel
Diese Weise kann jedes Gerät nur lädt das richtige Bild Ressource. Beachten Sie auch, dass die
px
Einheit in CSS immer arbeitet auf logische Pixel.Ein Fall für Vektor-Grafiken
Da mehr und mehr Gerätetypen angezeigt, es wird schwieriger, alle von Ihnen mit ausreichender bitmap-Ressourcen. In CSS media queries ist derzeit der einzige Weg, und in HTML5, die Bild-element können Sie verschiedene Quellen für unterschiedliche Medien-Anfragen, aber der support ist noch immer nicht zu 100 %, da die meisten web-Entwickler noch Unterstützung von IE11 für eine Weile mehr (Quelle: caniuse).
Wenn Sie benötigen gestochen scharfe Bilder für die Symbole -, Linien-Kunst, design-Elemente, die keine Fotos, müssen Sie anfangen, darüber nachzudenken, SVG, welche Skalen, schön für alle Auflösungen.
width=device-width
ich werde es gestreckt auf Vollbild?Genau. Und wenn Sie mit high-resolution Bilder für
background-image
kombinieren Sie es mit-webkit-background-size:50%
, weil sonst die Bildgröße, Folgen Sie den logischen pixel zählen. w3.org/TR/2002/WD-css3-background-20020802/#background-sizeDas können Sie nicht. Sie müssen das layout Ihrer Elemente unter Verwendung der logischen Pixel, und verwenden Sie eine höhere Auflösung der Bilder und die
background-size
trick für die Anzeige optimal.Ich habe keine Ahnung von der android-Fall. Es könnte sein, dass unterschiedliche Hersteller haben unterschiedliche Vorstellungen über logische und physische Pixel... Probieren Sie es selbst auf ein paar hundert verschiedene Geräte... Oder einfach davon ausgehen, dass die Werte von dem Gerät gemeldet wird, korrekt sind. Nicht design für bestimmte Geräte, aber design-für-Wert-Bereiche mit media queries!
Ich denke, es sollte ".. zwischen physical und logische Pixel"
InformationsquelleAutor Anders Tornblad
Device-Pixel-Ratio == CSS-Pixel-Verhältnis
In der Welt der web-Entwicklung, die device-pixel-ratio (auch als CSS-Pixel-Ratio) ist das, was bestimmt, wie ein Gerät die Bildschirmauflösung ist, interpretiert die CSS.
Einen browser, der CSS berechnet ein Gerät die logische (oder interpretiert) Auflösung durch die Formel:
Beispiel:
Apple iPhone 6s
Beim anzeigen einer web-Seite, die CSS denke das Gerät hat ein 375x667 Auflösung Bildschirm und Media Queries reagieren, als ob der Bildschirm ist 375x667. Aber das gerenderte Elemente auf dem Bildschirm doppelt so scharf wie eine tatsächliche 375x667 Bildschirm, da gibt es doppelt so viele physikalische Pixel in der physische Bildschirm.
Einige weitere Beispiele:
Samsung Galaxy S4
iPhone 5s
Warum tut das Gerät-Pixel-Verhältnis existieren?
Dem Grund, dass die CSS-pixel-Verhältnis angelegt wurde, denn wie Telefone, Bildschirme, höhere Auflösungen, wenn jedes Gerät hatte immer noch ein CSS-pixel-Verhältnis von 1 Webseiten machen zu klein zu sehen.
Einer typischen full-screen-desktop-monitor ist ein etwa 24" bei 1920 x 1080 Auflösung. Stell dir vor, der monitor war geschrumpft auf etwa 5" hatte aber die gleiche Auflösung. Anzeigen der Elemente auf dem Bildschirm wäre unmöglich, denn Sie wäre so klein. Aber produziert sind coming out mit 1920x1080 Auflösung Handy-Bildschirme konsequent jetzt.
Also die device-pixel-ratio wurde erfunden von Telefon Entscheidungsträger, so dass Sie weiterhin zu schieben, die Auflösung, Schärfe und Qualität von Handy-Bildschirmen, ohne dass Elemente auf dem Bildschirm zu klein, um zu sehen oder zu Lesen.
Hier ist ein tool, das zeigt auch die aktuelle Geräte-pixel-Dichte:
http://bjango.com/articles/min-device-pixel-ratio/
So Bilder werden gestreckt, um übereinstimmung mit hohen dpi-Werten oder physikalische Pixel. Sagen Bild 300px, logische/css px-300 auch, aber körperliche px 600, dann Einstellung Bildbreite würde bedeuten Bild bekam gestreckt.. ich habe auch gehört, dass manchmal Bilder zeigen, die kleiner bei hohem dpi-Wert , warum?
In deinem Beispiel ein Bild mit 300px
width: 100%
wird die volle Breite des Displays. Es wird nicht gedehnt werden. Der Bildschirm "denkt" es ist ein 300px angezeigt. Bilder werden automatisch nach der logischen/css Auflösung. Nun, in deinem Beispiel könnte man auch stattdessen dienen Sie einer 600px Bild. Es wird die volle Breite der logischen 300px angezeigt, aber da dein display ist in der nativen 600px sieht das Bild doppelt so scharf wie das original 300px image. Das größere Bild, aber es sieht besser aus, da die Anzeige hat alle diese zusätzlichen Pixel. Das ist die Idee hinter "Retina-Displays".Dies ist ein neues Thema für mich und verstehe ich nicht. In der Beispiel-CSS-pixel-ratio=2 ist. Das Bild ist 300 physikalische Pixel breit ist, in der css-wir setzen es zu 100%, so wird es sich CSS 300 Pixel breit. Da die CSS-px-Verhältnis ist 2, es wird zu 600 physikalische Pixel breit, und seine Breite entspricht die display-Breite genau. Aber wie kommt es, das es nicht gestreckt wird, wenn die ursprüngliche Breite ist 300 physikalische px und jetzt sind es 600 physikalische px? Mein Verständnis ist seine Qualität ist niedriger, weil es jetzt körperlich erstrecken sich von 300 bis 600px. Können Sie näher erläutern, dies ein bisschen mehr, bitte?
Ich weiß es nicht und ist es nicht eigentlich egal, wie er definiert wird in der hardware/software. Man berechnet sich aus dem anderen so oder so schneiden Sie es.
InformationsquelleAutor Jake Wilson
https://developer.mozilla.org/en/CSS/Media_queries#-moz-device-pixel-ratio
dies ist fast selbsterklärend. die Zahl beschreibt das Verhältnis, wie viel "echte" Pixel (körperliche pixerls auf dem Bildschirm) verwendet werden, die Anzeige einer "virtuellen" pixel (Größe in CSS).
leider, Sie haben auf google oder test auf einem echten Gerät 🙁
InformationsquelleAutor oezi
Boris Smus Artikel High DPI Images for Variable Pixel-Dichten hat eine genauere definition der device-pixel-Verhältnis: die Anzahl der Pixel pro Gerät CSS-pixel ist eine gute Näherung, aber nicht die ganze Geschichte.
Beachten Sie, dass Sie bekommen können, die DPR von einem Gerät mit
window.devicePixelRatio
.InformationsquelleAutor Sam Dutton