CSS -Tutorial

CSS-Startseite CSS-Einführung CSS-Syntax CSS-Selektoren CSS-Anleitung CSS-Kommentare CSS-Farben CSS-Hintergründe CSS-Grenzen CSS-Ränder CSS-Padding CSS-Höhe/Breite CSS-Box-Modell CSS-Gliederung CSS-Text CSS-Schriftarten CSS-Icons CSS-Links CSS-Listen CSS-Tabellen CSS-Anzeige CSS Max-Breite CSS-Position CSS Z-Index CSS-Überlauf CSS-Float CSS Inline-Block CSS-Ausrichtung CSS-Kombinatoren CSS Pseudo-Klasse CSS Pseudo-Element CSS-Opazität CSS-Navigationsleiste CSS-Dropdowns CSS-Bildergalerie CSS-Bild-Sprites CSS-Attribut-Selektoren CSS-Formulare CSS-Zähler CSS-Website-Layout CSS-Einheiten CSS-Spezifität CSS !wichtig CSS-Mathematikfunktionen

CSS-Erweitert

Abgerundete CSS-Ecken CSS-Randbilder CSS-Hintergründe CSS-Farben CSS-Farbschlüsselwörter CSS-Verläufe CSS-Schatten CSS-Texteffekte CSS-Webfonts CSS-2D-Transformationen CSS-3D-Transformationen CSS-Übergänge CSS-Animationen CSS-Tooltips Bilder im CSS-Stil CSS-Bildreflexion CSS-Objektanpassung CSS-Objektposition CSS-Maskierung CSS-Schaltflächen CSS-Paginierung CSS mehrere Spalten CSS-Benutzeroberfläche CSS-Variablen Größe von CSS-Boxen CSS-Medienabfragen CSS MQ-Beispiele CSS-Flexbox

CSS- responsiv

RWD-Einführung RWD-Ansichtsfenster RWD-Rasteransicht RWD-Medienabfragen RWD-Bilder RWD-Videos RWD-Frameworks RWD-Vorlagen

CSS -Raster

Grid-Einführung Grid-Container Rasterelement

CSS -SASS

SASS-Tutorial

CSS- Beispiele

CSS-Vorlagen CSS-Beispiele CSS-Quiz CSS-Übungen CSS-Zertifikat

CSS- Referenzen

CSS-Referenz CSS-Selektoren CSS-Funktionen CSS-Referenz Aural CSS-websichere Schriftarten CSS animierbar CSS-Einheiten CSS PX-EM-Konverter CSS-Farben CSS-Farbwerte CSS-Standardwerte CSS-Browser-Unterstützung

Responsives Webdesign - Medienanfragen


Was ist eine Medienabfrage?

Media Query ist eine CSS-Technik, die in CSS3 eingeführt wurde.

Es verwendet die @mediaRegel, um einen Block von CSS-Eigenschaften nur einzuschließen, wenn eine bestimmte Bedingung wahr ist.

Beispiel

Wenn das Browserfenster 600 Pixel oder kleiner ist, ist die Hintergrundfarbe hellblau:

@media only screen and (max-width: 600px) {
  body {
    background-color: lightblue;
  }
}

Haltepunkt hinzufügen

Zu Beginn dieses Tutorials haben wir eine Webseite mit Zeilen und Spalten erstellt, die responsive war, aber auf einem kleinen Bildschirm nicht gut aussah.

Medienanfragen können dabei helfen. Wir können einen Haltepunkt hinzufügen, an dem sich bestimmte Teile des Designs auf jeder Seite des Haltepunkts unterschiedlich verhalten.


Schreibtisch

Telefon

Verwenden Sie eine Medienabfrage, um einen Haltepunkt bei 768 Pixel hinzuzufügen:

Beispiel

Wenn der Bildschirm (Browserfenster) kleiner als 768 Pixel wird, sollte jede Spalte eine Breite von 100 % haben:

/* For desktop: */
.col-1 {width: 8.33%;}
.col-2 {width: 16.66%;}
.col-3 {width: 25%;}
.col-4 {width: 33.33%;}
.col-5 {width: 41.66%;}
.col-6 {width: 50%;}
.col-7 {width: 58.33%;}
.col-8 {width: 66.66%;}
.col-9 {width: 75%;}
.col-10 {width: 83.33%;}
.col-11 {width: 91.66%;}
.col-12 {width: 100%;}

@media only screen and (max-width: 768px) {
  /* For mobile phones: */
  [class*="col-"] {
    width: 100%;
  }
}


Entwerfen Sie immer zuerst für Mobilgeräte

Mobile First bedeutet, dass Sie zuerst für Mobilgeräte entwerfen, bevor Sie für Desktops oder andere Geräte entwerfen (dadurch wird die Seite auf kleineren Geräten schneller angezeigt).

Das bedeutet, dass wir einige Änderungen in unserem CSS vornehmen müssen.

Anstatt den Stil zu ändern, wenn die Breite kleiner als 768 Pixel wird, sollten wir das Design ändern, wenn die Breite größer als 768 Pixel wird. Dadurch wird unser Design Mobile First:

Beispiel

/* For mobile phones: */
[class*="col-"] {
  width: 100%;
}

@media only screen and (min-width: 768px) {
  /* For desktop: */
  .col-1 {width: 8.33%;}
  .col-2 {width: 16.66%;}
  .col-3 {width: 25%;}
  .col-4 {width: 33.33%;}
  .col-5 {width: 41.66%;}
  .col-6 {width: 50%;}
  .col-7 {width: 58.33%;}
  .col-8 {width: 66.66%;}
  .col-9 {width: 75%;}
  .col-10 {width: 83.33%;}
  .col-11 {width: 91.66%;}
  .col-12 {width: 100%;}
}

Ein weiterer Haltepunkt

Sie können beliebig viele Haltepunkte hinzufügen.

Wir werden auch einen Haltepunkt zwischen Tablets und Mobiltelefonen einfügen.


Schreibtisch

Tablette

Telefon

Wir tun dies, indem wir eine weitere Medienabfrage (bei 600 Pixel) und eine Reihe neuer Klassen für Geräte hinzufügen, die größer als 600 Pixel (aber kleiner als 768 Pixel) sind:

Beispiel

Beachten Sie, dass die beiden Klassensätze fast identisch sind, der einzige Unterschied ist der Name ( col-und col-s-):

/* For mobile phones: */
[class*="col-"] {
  width: 100%;
}

@media only screen and (min-width: 600px) {
  /* For tablets: */
  .col-s-1 {width: 8.33%;}
  .col-s-2 {width: 16.66%;}
  .col-s-3 {width: 25%;}
  .col-s-4 {width: 33.33%;}
  .col-s-5 {width: 41.66%;}
  .col-s-6 {width: 50%;}
  .col-s-7 {width: 58.33%;}
  .col-s-8 {width: 66.66%;}
  .col-s-9 {width: 75%;}
  .col-s-10 {width: 83.33%;}
  .col-s-11 {width: 91.66%;}
  .col-s-12 {width: 100%;}
}

@media only screen and (min-width: 768px) {
  /* For desktop: */
  .col-1 {width: 8.33%;}
  .col-2 {width: 16.66%;}
  .col-3 {width: 25%;}
  .col-4 {width: 33.33%;}
  .col-5 {width: 41.66%;}
  .col-6 {width: 50%;}
  .col-7 {width: 58.33%;}
  .col-8 {width: 66.66%;}
  .col-9 {width: 75%;}
  .col-10 {width: 83.33%;}
  .col-11 {width: 91.66%;}
  .col-12 {width: 100%;}
}

Es mag seltsam erscheinen, dass wir zwei Sätze identischer Klassen haben, aber es gibt uns die Möglichkeit , in HTML zu entscheiden, was mit den Spalten an jedem Haltepunkt passieren soll:

HTML-Beispiel

Für Desktop:

Der erste und der dritte Abschnitt umfassen jeweils 3 Spalten. Der Mittelteil erstreckt sich über 6 Spalten.

Für Tabletten:

Der erste Abschnitt erstreckt sich über 3 Spalten, der zweite über 9 und der dritte Abschnitt wird unter den ersten beiden Abschnitten angezeigt und umfasst 12 Spalten:

<div class="row">
  <div class="col-3 col-s-3">...</div>
  <div class="col-6 col-s-9">...</div>
  <div class="col-3 col-s-12">...</div>
</div>

Typische Geräte-Haltepunkte

Es gibt unzählige Bildschirme und Geräte mit unterschiedlichen Höhen und Breiten, daher ist es schwierig, einen genauen Haltepunkt für jedes Gerät zu erstellen. Um die Dinge einfach zu halten, könnten Sie fünf Gruppen ansprechen:

Beispiel

/* Extra small devices (phones, 600px and down) */
@media only screen and (max-width: 600px) {...}

/* Small devices (portrait tablets and large phones, 600px and up) */
@media only screen and (min-width: 600px) {...}

/* Medium devices (landscape tablets, 768px and up) */
@media only screen and (min-width: 768px) {...}

/* Large devices (laptops/desktops, 992px and up) */
@media only screen and (min-width: 992px) {...}

/* Extra large devices (large laptops and desktops, 1200px and up) */
@media only screen and (min-width: 1200px) {...}

Ausrichtung: Hochformat / Querformat

Medienabfragen können auch verwendet werden, um das Layout einer Seite abhängig von der Ausrichtung des Browsers zu ändern.

Sie können eine Reihe von CSS-Eigenschaften haben, die nur gelten, wenn das Browserfenster breiter als seine Höhe ist, eine sogenannte „Querformat“-Ausrichtung:

Beispiel

Die Webseite hat einen hellblauen Hintergrund, wenn die Ausrichtung im Querformat ist:

@media only screen and (orientation: landscape) {
  body {
    background-color: lightblue;
  }
}

Elemente mit Medienabfragen ausblenden

Eine weitere häufige Verwendung von Medienabfragen ist das Ausblenden von Elementen auf verschiedenen Bildschirmgrößen:

Ich werde auf kleinen Bildschirmen versteckt sein.

Beispiel

/* If the screen size is 600px wide or less, hide the element */
@media only screen and (max-width: 600px) {
  div.example {
    display: none;
  }
}

Ändern Sie die Schriftgröße mit Medienabfragen

Sie können Medienabfragen auch verwenden, um die Schriftgröße eines Elements auf verschiedenen Bildschirmgrößen zu ändern:

Variable Schriftgröße.

Beispiel

/* If the screen size is 601px or more, set the font-size of <div> to 80px */
@media only screen and (min-width: 601px) {
  div.example {
    font-size: 80px;
  }
}

/* If the screen size is 600px or less, set the font-size of <div> to 30px */
@media only screen and (max-width: 600px) {
  div.example {
    font-size: 30px;
  }
}

CSS @media-Referenz

Einen vollständigen Überblick über alle Medientypen und Funktionen/Ausdrücke finden Sie in der @media-Regel in unserer CSS-Referenz .