Neueste Web-Entwicklung Tutorials
 

Responsive Web Design - Media Queries


Was ist eine Frage der Medien?

Medien Abfrage ist eine CSS-Technik in CSS3 eingeführt.

Es nutzt die @media Regel einen Block von CSS - Eigenschaften , um nur , wenn eine bestimmte Bedingung erfüllt ist.

Beispiel

Wenn das Browserfenster kleiner als 500px ist, wird die Hintergrundfarbe hell ändern:

@media only screen and (max-width: 500px) {
    body {
        background-color: lightblue;
    }
}
Versuch es selber "

Fügen Sie einen Haltepunkt

Früher in diesem Tutorial haben wir eine Web-Seite mit Zeilen und Spalten, und es war ansprechbar, aber es sah nicht gut aus auf einem kleinen Bildschirm.

Medien-Anfragen können dabei helfen. Wir können einen Haltepunkt hinzufügen, wo bestimmte Teile des Designs auf jeder Seite der Bruchstelle anders verhalten wird.


Desktop-

Telefon

Verwenden Sie eine Medienabfrage einen Haltepunkt an 768px hinzuzufügen:

Beispiel

Wenn der Bildschirm (Fenster) kleiner als 768. erhält, sollte jede Spalte eine Breite von 100% aufweisen:

/* 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%;
    }
}
Versuch es selber "

Design Immer für Mobile First

Mobile First Mittel für mobile Gestaltung vor für Desktop-Gestaltung oder einem anderen Gerät (Dies zeigt die Seite schneller auf kleinere Geräte zu machen).

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

Statt Stile ändern , wenn die Breite kleiner als 768px bekommt, sollten wir den Entwurf zu ändern , wenn die Breite größer als 768px bekommt. Das wird unser Design Mobile First machen:

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%;}
}
Versuch es selber "

Ein weiterer Haltepunkt

Sie können so viele Haltepunkte hinzufügen, wie Sie möchten.

Wir werden auch einen Haltepunkt zwischen Tabletten und Mobiltelefone ein.


Desktop-

Tablette

Telefon

Wir tun dies, um eine weitere Medienabfrage Hinzufügen (bei 600px) und eine Reihe von neuen Klassen für Geräte größer als 600px (aber kleiner als 768px):

Beispiel

Man beachte , dass die beiden Gruppen von Klassen fast identisch sind, ist der einzige Unterschied der Name ( col- und col-m- ):

/* For mobile phones: */
[class*="col-"] {
    width: 100%;
}
@media only screen and (min-width: 600px) {
    /* For tablets: */
    .col-m-1 {width: 8.33%;}
    .col-m-2 {width: 16.66%;}
    .col-m-3 {width: 25%;}
    .col-m-4 {width: 33.33%;}
    .col-m-5 {width: 41.66%;}
    .col-m-6 {width: 50%;}
    .col-m-7 {width: 58.33%;}
    .col-m-8 {width: 66.66%;}
    .col-m-9 {width: 75%;}
    .col-m-10 {width: 83.33%;}
    .col-m-11 {width: 91.66%;}
    .col-m-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%;}
}
Versuch es selber "

Es könnte seltsam erscheinen , dass wir zwei Sätze von identischen Klassen haben, aber es gibt uns die Möglichkeit , in HTML, zu entscheiden , was mit den Säulen an jedem Haltepunkt passieren wird:

HTML Beispiel

Für Desktop-:

Der erste und der dritte Abschnitt werden beide umspannen 3 Spalten je. Der mittlere Abschnitt 6 Spalten erstrecken.

Für Tabletten:

Der erste Abschnitt wird 3 Spalten erstrecken, wird die zweite 9 erstrecken, und der dritte Abschnitt wird unter den ersten beiden Abschnitten dargestellt werden, und es wird 12 Spalten erstrecken:

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

Orientierung: Porträt / Landschaft

Medien-Anfragen können auch das Layout einer Seite verwendet werden, von der Orientierung des Browsers abhängig zu ändern.

Sie können eine Reihe von CSS-Eigenschaften haben, die nur gelten, wenn das Browserfenster breiter als seine Höhe ist, eine so genannte "Landschaft" Orientierung:

Beispiel

Die Webseite wird ein hell Hintergrund haben, wenn die Ausrichtung im Querformat ist:

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