2012-07-16 7 views
19

Ich würde gerne wissen, um Ihre Website für Tablets, Desktops und Smartphones zu optimieren, was ist am besten zu verwenden: Media Queries oder die Viewport Metatags? siehe Code:Viewport Meta Tags vs Media Queries?

<meta name="viewport" content="width=device-width, user-scalable=no, initial-scale=1.0, minimum-scale=1.0, maximum-scale=1.0"> 
<meta name="viewport" content="width=device-width, initial-scale=1.0"> 

vs

/* Smartphones (portrait and landscape) ----------- */ 
@media only screen 
and (min-device-width : 320px) 
and (max-device-width : 480px) { 
/* Styles */ 
} 

/* Smartphones (landscape) ----------- */ 
@media only screen 
and (min-width : 321px) { 
/* Styles */ 
} 

/* Smartphones (portrait) ----------- */ 
@media only screen 
and (max-width : 320px) { 
/* Styles */ 
} 

/* iPads (portrait and landscape) ----------- */ 
@media only screen 
and (min-device-width : 768px) 
and (max-device-width : 1024px) { 
/* Styles */ 
} 

/* iPads (landscape) ----------- */ 
@media only screen 
and (min-device-width : 768px) 
and (max-device-width : 1024px) 
and (orientation : landscape) { 
/* Styles */ 
} 

/* iPads (portrait) ----------- */ 
@media only screen 
and (min-device-width : 768px) 
and (max-device-width : 1024px) 
and (orientation : portrait) { 
/* Styles */ 
} 

/* Desktops and laptops ----------- */ 
@media only screen 
and (min-width : 1224px) { 
/* Styles */ 
} 

/* Large screens ----------- */ 
@media only screen 
and (min-width : 1824px) { 
/* Styles */ 
} 

/* iPhone 4 ----------- */ 
@media 
only screen and (-webkit-min-device-pixel-ratio : 1.5), 
only screen and (min-device-pixel-ratio : 1.5) { 
/* Styles */ 
} 
+0

Sie scheinen den Eindruck zu haben, dass Sie nur eines von beiden verwenden können. – BoltClock

Antwort

6

Ich würde sagen, dass jede Situation anders ist ... und es ist keine entweder/oder Situation. Das Viewport-Meta-Tag, das Sie dort haben, würde es so machen, dass die Webseite das 1: 1-Verhältnis beibehält, was in vielen Fällen gut ist. es ist jedoch auch benutzerdefinierbar "Nein" eingestellt - und das bedeutet, dass der Benutzer nicht in der Lage sein wird, usw. zu zoomen ... manchmal ist die Art und Weise, wie ipads und andere Geräte Ihre Website ändern, das Beste ...

die beste Methode, die ich gefunden habe, ist Medien-Anfragen zu bedienen und eine von 2 dirrections wählen:

  1. Start von kleinen und bauen
  2. Start von großen und bauen nach unten

dehnen Sie Ihr Browserfenster immer größer (oder kleiner und kleiner) und dann wenn t Die Website wird hässlich, (gerade vorher) das ist dein nächster Haltepunkt ... mach die Medienabfrage dort ... und wiederhole es. Achten Sie nicht auf alle Gerätegrößen --- auf diese Weise werden Sie wissen, dass egal, welche neuen Geräte usw. herauskommen --- Sie haben es so konstruiert, dass es bei jeder möglichen Größe gut aussieht. (wenn es unter 320 kommt/mag ich nur machen die Website in eine Visitenkarte verwandeln /// besser lesbare Informationen für keine Smartphones zu haben ...)

dann nach all dem ... Test auf Geräten und probieren Sie verschiedene Viewport-Metatags aus.

Es gibt eine Menge toller Artikel darüber ... verwenden Sie Stichworte wie "Responsive Design" oder "Adaptive" oder "RWD" Responsive Webdesign. und viel Glück !!!

+1

ps - seien Sie müde von jQuery Media Sensing Zeug ... weil sie nicht anpassen, wenn Sie Desktop-Browser-Größe ändern ... aber sie können ideal für die Ausrichtung von mobilen Geräten usw. sein ... – sheriffderek

+0

cool, danke. gute Punkte, die Sie machen –

+0

eine weitere Sache ... einige alte Browser sehen nicht die Medienabfragen ... aber es gibt eine jQuery, die sie lehren, es zu sehen ... also überprüfen Sie das ... – sheriffderek

16

Beide sind notwendig.

Medienabfragen werden verwendet, um verschiedene css für verschiedene Geräte zu haben, wie die if-Bedingung für verschiedene Geräte.

Ansichtsfenster Meta-Tag soll festlegen, dass das Gerät die Breite gemäß diesem Tag nehmen soll. Es ist wie ein Reset für Geräte, wenn das nicht verwendete Gerät das Layout seinen Standardeinstellungen anpasst.

+0

Vielen Dank für Ihre Antwort. Sagen Sie mir, was ist das Beste, wenn Sie einen normalen fixed-value-definierten css-Stil haben und dann alle anderen css-Queries auf relative Perzentilbreiten/-höhen des 'normalen' Stylesheets setzen? Oder um jedes Medienabfrage-Stylesheet mit eigenen festen Dimensionen zu definieren? –

+1

Es ist besser, zuerst für mobile Geräte zu entwerfen und dann für größere Geräte. Prozentsatz mit Layout oder Flüssigkeit Layout ist am besten für jedes Design, es wird gut sein, wenn Sie damit umgehen können. Oder Sie können ein adaptives Layout mit fester Breite für alle unterschiedlichen Auflösungen haben. – SVS

+1

danke. Wenn ich das richtig verstehe, gibt es ein adaptives Layout (feste Breiten für Medienabfragen) und Responsive Layout (flüssige Perzentilbreiten für Medienabfragen). –

7

Es hängt davon ab, was Sie erreichen möchten.

Wenn Sie nur für Desktop-Auflösung entwerfen und den mobilen Browser "verkleinern" und eine Desktop-ähnliche Auflösung annehmen möchten, können Sie nur die Metatags des Darstellungsbereichs verwenden und die Breite auf einen festen Wert einstellen.

Wenn Sie ein echtes Responsive Design wünschen, sollten Sie die Metatags für das Ansichtsfenster auf Gerätebreite einstellen und Medienabfragen verwenden, um das Layout für verschiedene Auflösungen zu planen, wie Sie es in Ihrem Code gezeigt haben.

+0

danke, gute antwort –

+0

eine frage, ich habe ein bild, das ist meine hauptwebseite bild, und es zentriert die seite. Jetzt möchte ich die Höhe immer mit der Bildschirmgröße fließen lassen, so dass man nie scrollen sollte. Wie verändert dies die Situation, da alles in Bezug auf die Breite entworfen/spezifiziert ist? –

Verwandte Themen