Fritschis Welt goes Responsive

Schon seit geraumer Zeit habe ich mit dem Gedanken gespielt, meinem Blog ein neues Layout zu verpassen, doch es sollte sich nicht nur auf den ersten Blick optisch verändern sondern technisch so aufgerüstet werden, dass sich das neue Layout dem Ausgabegerät anpasst.
Responsive ist hier das Stichwort, ein reaktionsfähiges Layout für die optimale Darstellung meines Blogs sowohl auf großen Monitoren als auch auf Tablets und Smartphones. Dafür hatte ich mir vor einem Jahr das Buch »Responsive Webdesign« von Christoph Zillgens gekauft.

From now on, if it’s not responsive, it’s not web design.

Webdesigner Andy Clarke

Der Autor Christoph Zillgens schreibt in seinem Buch, dass es laut Webdesigner Ethan Marcotte drei zentrale Elemente gibt, die ein reaktionsfähiges Webdesign ausmachen:

  1. Ein flexibles Gestaltungsraster
  2. Flexible Bilder und Medien
  3. Mediaqueries, ein Modul aus der CSS3-Spezifikation

Grid

Ein flexibles Gestaltungsraster ist die Grundvoraussetzung für ein reaktionsfähiges Webdesign.

Webdesigner Christoph Zillgens

In Kapitel 7 »Einen Prototypen mit HTML5-Elementen erstellen« bin ich auf die Verwendung von Frameworks gestoßen, wer bei seiner Webseite nicht bei Null beginnen möchte, kann auf sogenannte Vorlagen auch Blank Themes genannt zurückgreifen, um die Arbeit zu vereinfachen. Da wären zum Beispiel HTML5 Boilerplate, Foundation und Bootstrap.
Ich habe mir Bootstrap in Version 3 angeschaut, dieses kostenlose Frontend Framework und Open Source Projekt wurde im Jahre 2010 von Mark Otto und Jacob Thornton unter dem Namen Twitter Blueprint veröffentlicht.

Bootstrap liefert bereits vordefinierte Elemente wie zum Beispiel Navigationen, Buttons, Formulare und Listen-Elemente. Es enthält ein reaktionsfähiges, mobile first fluid Grid-System, das entsprechend des Endgerätes oder der Bildschirmgröße auf bis zu 12 Spalten skalierbar ist. Das Grid besteht aus Zeilen und Spalten.

<!-- Columns start at 50% wide on mobile and bump up to 33.3% wide on desktop -->
<div class="row">
  <div class="col-xs-6 col-md-4">.col-xs-6 .col-md-4</div>
  <div class="col-xs-6 col-md-4">.col-xs-6 .col-md-4</div>
  <div class="col-xs-6 col-md-4">.col-xs-6 .col-md-4</div>
</div>

Für meine Bootstrap-Installation habe ich Initializr – einen HTML5 Vorlagengenerator verwendet. Über Initializr werden im Grunde vier CSS-Dateien und fünf JavaScript-Dateien generiert. Die HTML- bzw. PHP-Dateien, die für ein WordPress Theme benötigt werden, habe ich selber erstellt.

Auf Elmastudio gibt es ein schönes Tutorial für Einsteiger – Ein WordPress-Theme mit Bootstrap entwickeln und auf der Webseite Bootstrap Magic kann man in wenigen Schritten sein eigenes Bootstrap Theme erstellen.

Flexible Bilder

Moderne Browser sind in der Lage die Eigenschaften eines Bildes wie width und height selbständig auszulesen und korrekt darzustellen, um Bilder flexibel zu gestalten kann somit auf diese Angaben verzichtet werden.

In der functions.php meines WordPress Themes verwende ich eine Funktion, um die Angabe von Breite und Höhe im HTML-Code von Bildern zu entfernen. Diese Funktion entfernt nicht nur bei neu hinzugefügten Bildern die Attribute sondern auch bei den Vorschaubildern sowie bei allen bereits veröffentlichten Bildern.

add_filter( 'post_thumbnail_html', 'remove_thumbnail_dimensions', 10 );
add_filter( 'image_send_to_editor', 'remove_thumbnail_dimensions', 10 );
add_filter( 'the_content', 'remove_thumbnail_dimensions', 10 );

Zusätzlich verwende ich ein erweitertes CSS von Jeff Sebring um von WordPress vordefinierte Klassen zu überschreiben, dadurch werden dann auch Bilder mit Bildunterzeilen flexibel.

Für flexible Bilder wird folgende CSS-Eigenschaft verwendet:

img {
  max-width: 100%;
}

Wenn im HTML-Code des Bildes, die Angaben zu Breite und Höhe vorhanden sind, sollte das CSS wie folgt ergänzt werden:

img {
  max-width: 100%;
  height: auto;
}

Ohne diese notwendige Angabe würde der Browser das Bild in der Höhe verzerrt anzeigen!

Flexible Medien

Videos von YouTube oder von Vimeo werden mit einem iframe eingebunden und lassen sich leider nicht mithilfe von CSS flexibilisieren. Dafür verwende ich das jQuery-Plugin FitVids.js von Chris Coyier und Paravel.

In der footer.php habe ich folgenden Code platziert:

<script src="pfad/zum/js/fitvids/jquery.fitvids.js"></script>
<script>
  $(document).ready(function(){
  // Target your .container, .wrapper, .post, etc.
  $(".entry").fitVids();
  });
</script>

Mediaqueries

Die CSS-Datei von Bootstrap ist mit 6805 (!) Zeilen Code sehr umfangreich und alle benötigten @mediaqueries sind bereits integriert. Für einen Teil der von mir genutzten WordPress Plugins sowie für die Darstellung der verschachtelten Kommentare in meinem Blog, musste ich die style.css meines Themes trotzdem ein klein wenig erweitern:

@media (max-width: 1199px) {

#marctvflickrbar li { 
	display: inline; 
	float: left;
	width: 31%;
	height: auto; 
	margin-right: .5em; 
	}
}

@media (max-width: 768px) {

#marctvflickrbar li { 
	display: inline; 
	float: left;
	width: 31%;
	height: auto; 
	margin-right: .5em; 
	}
}

@media (max-width: 468px) {

#marctvflickrbar li { 
	width: 100%;
	height: auto;  
	}
}

Am I Responsive?

Um zu testen, ob die neu gestaltete Website bzw. das neu gestaltete WordPress Theme auch wirklich responsive ist, habe ich den browser-basierten Viewport Resizer verwendet, einmal als Lesezeichen angelegt, lässt sich jede Webseite in unterschiedlichen Displayauflösungen testen.

Diese Website verwendet WP YouTube Lyte, um YouTube Videos abspielen zu können. Das Vorschaubild wird lokal auf dem Server gespeichert. Erst wenn das Video abgespielt wird, besteht eine Verbindung zu YouTube.

Das Titelbild dieses Artikels habe ich übrigens über die Website Am I Responsive? von Justin Avery erstellt. So lassen sich auf die Schnelle, kleine aber feine Screenshots diverser Webseiten auf unterschiedlichen Endgeräten erstellen.

Zum Abschluss

Ich hoffe, Euch, den Lesern meines Blogs, gefällt das neue Layout und Ihr begrüßt es, meine Artikel ab sofort auch auf Euren mobilen Endgeräten komfortabel lesen zu können. Vielleicht möchte der ein oder andere unter Euch, auch ein eigenes WordPress Theme mit Bootstrap realisieren und ich konnte, einen kleinen Einblick in Bezug auf die Umsetzung geben.

Bis denn, denn,
Denise

Weiterführende Links

Veröffentlicht von Denise

Wohnt im schönen OWL. Apple Fangirl. Liebt Videospiele auf der PS4 und Blu-ray Filme, alles zum Thema Multimedia und Autos. Reist gern nach Schweden, Norwegen und in die USA.

Schreibe einen Kommentar

Mit dem Absenden eines Kommentars willigst Du der Datenschutzerklärung und der Speicherung von Dir angegebener, personenbezogener Daten zu.

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

Willst Du Dein persönliches Avatar-Bild neben Deinem Namen sehen? Dann registriere Dich mit Deiner E-Mail-Adresse bei Gravatar.com!