Free Trial

Safari Books Online is a digital library providing on-demand subscription access to thousands of learning resources.


  • Create BookmarkCreate Bookmark
  • Create Note or TagCreate Note or Tag
  • DownloadDownload
  • PrintPrint
Share this Page URL
Help

4. Bessere Benutzeroberflächen mit CSS3 > 10 Benutzeroberflächen für mobile Ger...

10 Benutzeroberflächen für mobile Geräte mit Media Queries

Wir können schon seit einer ganzen Weile medienspezifische Stylesheets definieren. Aber wie Sie bei unserem Druck-Stylesheet im Abschnitt „8 Links ausdrucken mit :after und content“ gesehen haben, waren wir bisher auf den Ausgabetyp beschränkt. Mit den Media Queries[25] von CSS3 können wir die Darstellung einer Seite sogar an die Bildschirmgröße unserer Benutzer anpassen. Webentwickler haben schon seit Jahren mit JavaScript die Bildschirmgröße ihrer Benutzer ermittelt. Aber jetzt können wir damit anfangen, das ausschließlich mit Stylesheets zu tun. Mit Media Queries können wir Folgendes ermitteln:

  • Auflösung

  • Ausrichtung (Hoch- oder Querformat)

  • Breite und Höhe des Geräts

  • Breite und Höhe des Browserfensters

Daher machen es uns Media Queries recht einfach, spezielle Stylesheets für mobile Benutzer zu entwickeln. Wie sich herausstellt, haben die Führungskräfte von AwesomeCo gerade alle ihre Blackberrys gegen brandneue iPhones ausgetauscht. Der Marketingdirektor möchte unbedingt eine iPhone-taugliche Version der Blogvorlage sehen, die wir im Abschnitt „1 Einen Blog mit semantischem Markup neu definieren“ erstellt haben. Das bekommen wir recht schnell hin.

Unser derzeitiger Blog hat ein zweispaltiges Layout mit einem Hauptinhaltsbereich und einer Seitenleiste. Am einfachsten können wir das auf einem iPhone lesbarer darstellen, indem wir die gefloateten Elemente entfernen, damit die Seitenleiste unterhalb des Hauptinhalts erscheint. Auf diese Weise müssen die Leser nicht zur Seite scrollen.

Joe fragt ...: Was ist mit dem Medientyp „Handheld“?

Der Medientyp Handheld wurde entwickelt, damit wir Stylesheets gezielt für mobile Geräte erstellen können. Aber die meisten mobilen Geräte möchten uns das „echte Internet“ zeigen: Sie ignorieren den Medientyp und verwenden einfach das Stylesheet für den Medientyp screen.

Damit das funktioniert, fügen wir den folgenden Code am Ende des Stylesheets für den Blog ein:

css3mediaquery/style.css

@media only screen and (max-device-width: 480px) {
  body{
    width:460px;
  }

  section#sidebar, section#posts{
    float: none;
    width: 100%;
  }
}

Sie können sich den Code, den wir in die geschweiften Klammern der Media Query geschrieben haben, wie ein eigenes Stylesheet vorstellen, das nur aufgerufen wird, wenn die Bedingungen der Query erfüllt sind. In diesem Fall ändern wir die Größe des Body der Seite und machen aus dem zweispaltigen Layout ein einspaltiges.

Wir können Media Queries auch beim Einbinden des Stylesheets verwenden, dann können wir unser Stylesheet für mobile Geräte in einer eigenen Datei ablegen:

<link rel="stylesheet" type="text/css"
  href="CSS/mobile.css" media="only screen and (max-device-width: 480px)">

Damit ist unser Blog sofort auf iPhones besser lesbar. Mit diesem Ansatz können Sie auch Stylesheets für andere Anzeigen erstellen, wie etwa Kioske, Tablet-PCs und andere Bildschirme verschiedenster Größen, damit Ihr Inhalt auf möglichst vielen Geräten lesbar ist.

Ausweichlösung

Media Queries werden von Firefox, Chrome, Safari, Opera und dem Internet Explorer 9 unterstützt. Als Ausweichlösung müssen Sie auf JavaScript zurückgreifen, um zusätzliche Stylesheets für das jeweilige Gerät zu laden. Unser Beispiel ist für iPhones gedacht, daher brauchen wir keine Ausweichlösung – unser Inhalt ist auch ohne Media Query lesbar.

Falls Sie aber mit Media Queries in anderen Browsern experimentieren möchten: Es gibt ein jQuery-Plugin[26] für die grundlegende Unterstützung von Media Queries in anderen Browsern. Die Möglichkeiten sind insofern eingeschränkt, als dass das Plugin nur mit verknüpften Stylesheets funktioniert und nur min-width und max-width in Pixel unterstützt. Aber selbst mit diesen Einschränkungen können Sie damit sehr gut Benutzeroberflächen für verschiedene Fenstergrößen erstellen.

Die Zukunft

Mit den Dingen, über die wir in diesem Kapitel gesprochen haben, können wir zwar unsere Benutzerflächen verbessern. Unsere Produkte sind aber auch für Benutzer verwendbar, deren Browser die neuen Funktionen nicht unterstützen. Die Leute können die Daten in unserer Tabelle auch lesen, wenn sie keine Streifen hat. Die Formulare funktionieren auch ohne runde Ecken, genauso wie der Newsletter mit nur einer Spalte. Es ist aber gut zu wissen, dass diese Effekte auch auf der Präsentationsebene ganz ohne JavaScript oder serverseitige Lösungen möglich sind.

Bis auf den Internet Explorer unterstützen mittlerweile fast alle Browser die neuen Selektoren. Sie können aber davon ausgehen, dass sie mit der Zeit auch von IE unterstützt werden, insbesondere die Pseudoklassen. Wenn die endgültige Spezifikation veröffentlicht wird, entfallen die browserspezifischen Präfixe wie moz und webkit. Dann können Sie auch Ihre Ausweichlösungen abschaffen.