Responsive Design

Das Layout der Seite passt sich dem Ausgabemedium an.

Voraussetzung

Verhindert das “verkleinern” der Website auf kleinen Ausgabenmedien

<meta name="viewport" content="width=device-width, initial-scale=1.0">

Media Queries

/* Media Query (Desktop First) */
aside {
  float: left;
  width: 50%;
}
@media (max-width: 50em) {
  aside {
    float: none;
    width: auto;
  }
}

/* Vertical Media Query*/
@media (min-height: 500px) { }

/* Media Query für Druck */
@media print {   }
  • Media Queries Medienabfragen ordnen CSS Angaben einem Ausgabemedium zu.
  • Media Queries bestimmen also die Darstellung auf verschiedenen Medien.

Desktop First

V3.Bootstrap Breakpoints

/* Erst Default Desktop Styling und anschließend ... */

/* Large Devices, Wide Screens */
@media (max-width : 1200px) {  }

/* Medium Devices, Desktops */
@media (max-width : 992px) {  }

/* Small Devices, Tablets */
@media (max-width : 768px) {  }

/* Extra Small Devices, Phones */
@media (max-width : 480px) {  }

/* Custom, iPhone Retina */
@media (max-width : 320px) {  }

Mobile First

V5.Bootstrap Breakpoints

/* Erst Default Mobile Styling und anschließend ... */

/* Small devices (landscape phones, 576px and up) */
@media (min-width: 576px) {  }

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

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

/* X-Large devices (large desktops, 1200px and up) */
@media (min-width: 1200px) {  }

/* XX-Large devices (larger desktops, 1400px and up) */
@media (min-width: 1400px) {  }

Vergleich Mobile- & Desktop First

/* Desktop first */
aside {
  float: left;
  width: 50%;
}

@media (max-width: 50rem) {
  aside {
    float: none;
    width: auto;
  }
}
/* Mobile first */
@media (min-width: 50rem) {
  aside {
    float: left;
    width: 50%;
  }
}

Fluid Grids

Brauchen wir Media Queries?

See the Pen Examples of "responsive by default" layout methods by rachelandrew (@rachelandrew) on CodePen.

Quelle: Using Media Queries For Responsive Design In 2018

Best Practices

  • Nutze Breakpoints dort wo das Design bricht.
  • Versuche Breakpoints in rem oder em zu definieren.
  • Vermeide order (Umplatzieren von Elementen mittels CSS)
  • Beachte auch Vertical Media Queries