`@media` und responsives Design

`@media` und responsives Design

Dieser Artikel erklärt @media und responsives Design.

Sie lernen, wie Sie mit der grundlegenden Syntax und Anwendungsbeispielen von @media flexible Layouts erstellen können.

YouTube Video

HTML zur Vorschau

css-responsive-media.html
  1<!DOCTYPE html>
  2<html lang="en">
  3<head>
  4    <meta charset="UTF-8">
  5    <meta name="viewport" content="width=device-width, initial-scale=1.0">
  6    <title>CSS Properties Example</title>
  7    <link rel="stylesheet" href="css-base.css">
  8    <link rel="stylesheet" href="css-responsive-media.css">
  9</head>
 10<body>
 11    <!-- Header -->
 12    <header>
 13        <h1>CSS Properties For Responsive Design</h1>
 14    </header>
 15
 16    <!-- Main content -->
 17    <main>
 18        <header>
 19            <h2>@media</h2>
 20        </header>
 21        <article>
 22            <h3>@media Syntax</h3>
 23            <section>
 24                <header><h4>CSS</h4></header>
 25<pre class="sample">
 26@media media-type and (condition) {
 27    /* Styles applied when the media query is matched */
 28}
 29</pre>
 30            </section>
 31        </article>
 32        <article>
 33            <h3>@media Example : max-width</h3>
 34            <section>
 35                <header><h4>CSS</h4></header>
 36<pre class="sample">
 37@media screen and (max-width: 600px) {
 38    body {
 39        background-color: lightblue;
 40    }
 41    p {
 42        font-size: 14px;
 43    }
 44}
 45</pre>
 46            </section>
 47        </article>
 48        <article>
 49            <h3>@media Example : orientation</h3>
 50            <section>
 51                <header><h4>CSS</h4></header>
 52<pre class="sample">
 53@media screen and (orientation: landscape) {
 54    body {
 55        background-color: lightgreen;
 56    }
 57}
 58</pre>
 59            </section>
 60        </article>
 61        <article>
 62            <h3>@media Example : min-width &amp; max-width</h3>
 63            <section>
 64                <header><h4>CSS</h4></header>
 65<pre class="sample">
 66@media screen and (min-width: 768px) and (max-width: 1024px) {
 67    body {
 68        background-color: lightgray;
 69    }
 70}
 71</pre>
 72            </section>
 73        </article>
 74        <article>
 75            <h3>@media Example : devices</h3>
 76            <section>
 77                <header><h4>CSS</h4></header>
 78<pre class="sample">
 79/* Mobile styles */
 80@media screen and (max-width: 600px) {
 81    body {
 82        font-size: 14px;
 83    }
 84}
 85
 86/* Tablet styles */
 87@media screen and (min-width: 601px) and (max-width: 1024px) {
 88    body {
 89        font-size: 16px;
 90    }
 91}
 92
 93/* Desktop styles */
 94@media screen and (min-width: 1025px) {
 95    body {
 96        font-size: 18px;
 97    }
 98}
 99</pre>
100            </section>
101        </article>
102    </main>
103</body>
104</html>

@media-Regeln

@media ist eine Regel zur Verwendung von CSS-Media-Queries, um Stile basierend auf bestimmten Bedingungen anzuwenden. Dadurch können unterschiedliche CSS-Stile basierend auf Bildschirmgröße, Ausrichtung, Auflösung oder anderen Merkmalen des Geräts angewendet werden. Hauptsächlich für responsives Design verwendet, hilft es, das Erscheinungsbild auf verschiedenen Geräten wie Desktops, Tablets und Mobiltelefonen anzupassen.

Grundlegende Syntax

1@media media-type and (condition) {
2    /* Styles applied when the media query is matched */
3}
  • Im media-type wird die Art des Mediums angegeben (z. B. screen, print).
  • Im condition werden Bedingungen wie Bildschirmgröße oder Auflösung angegeben.

Medientypen

  • screen: Stile für die Bildschirmanzeige, wie auf Computern und Smartphones.
  • print: Dies ist der Stil, der für das Drucken angewendet wird.
  • all: Dies ist der Stil, der auf alle Medien angewendet wird.

Häufig verwendete Bedingungen

  • min-width / max-width: Stile basierend auf der minimalen/maximalen Breite des Bildschirms anwenden.
  • min-height / max-height: Stile basierend auf der minimalen/maximalen Höhe des Bildschirms anwenden.
  • orientation: Die Bildschirmausrichtung angeben (portrait für vertikal, landscape für horizontal).
  • resolution: Stile basierend auf der Bildschirmauflösung anwenden (z. B. DPI).

Beispielhafte Verwendung

Stiländerungen basierend auf der Bildschirmbreite

Zum Beispiel kann man folgende Stile verwenden, wenn die Bildschirmbreite weniger als 600 Pixel beträgt:.

1@media screen and (max-width: 600px) {
2    body {
3        background-color: lightblue;
4    }
5    p {
6        font-size: 14px;
7    }
8}
  • Auf Geräten mit einer Bildschirmbreite von 600px oder weniger ändert sich die Hintergrundfarbe zu Hellblau und die Schriftgröße des Absatzes wird 14px.

Stile basierend auf der Bildschirmausrichtung

Um Stile anzuwenden, wenn das Gerät im Querformat ist, kann man es so schreiben:.

1@media screen and (orientation: landscape) {
2    body {
3        background-color: lightgreen;
4    }
5}
  • Wenn der Bildschirm im Querformat ist, wird die Hintergrundfarbe hellgrün.

3. Beispiel für die Kombination mehrerer Bedingungen

Sie können mehrere Bedingungen mit and kombinieren, um Stile auf spezifischere Bedingungen anzuwenden.

1@media screen and (min-width: 768px) and (max-width: 1024px) {
2    body {
3        background-color: lightgray;
4    }
5}
  • Wenn die Bildschirmbreite zwischen 768px und 1024px liegt, ändert sich die Hintergrundfarbe zu Hellgrau.

Anwendungsbeispiel: Responsives Design

 1/* Mobile styles */
 2@media screen and (max-width: 600px) {
 3    body {
 4        font-size: 14px;
 5    }
 6}
 7
 8/* Tablet styles */
 9@media screen and (min-width: 601px) and (max-width: 1024px) {
10    body {
11        font-size: 16px;
12    }
13}
14
15/* Desktop styles */
16@media screen and (min-width: 1025px) {
17    body {
18        font-size: 18px;
19    }
20}

Im responsiven Design ist es üblich, je nach Bildschirmbreite unterschiedliche Layouts anzuwenden.

  • Die Schriftgrößen ändern sich auf Mobilgeräten (600px oder weniger), Tablets (601px bis 1024px) und Desktops (1025px oder mehr).

Zusammenfassung

@media ist ein leistungsstarkes Werkzeug zum Wechseln von CSS-Stilen je nach Gerät und Bildschirmgröße und unerlässlich für responsives Design. Durch geschickte Verwendung von Bedingungen wie min-width und max-width können Sie eine Website optimieren, die für verschiedene Geräte geeignet ist.

Sie können den obigen Artikel mit Visual Studio Code auf unserem YouTube-Kanal verfolgen. Bitte schauen Sie sich auch den YouTube-Kanal an.

YouTube Video