Wie wäre es mit einem Layout das sich unterschiedlichen Bildschirmgrößen anpasst? Mit Responsivem Webdesign geht das und dieser Artikel zeigt wie es geht…

Responsives Webdesign für unser Layout:

Responsives Webdesign was ist das überhaupt? Ganz einfach erklärt, geht es darum eine Webseite für bestimmte Ausgabegeräte (Bildschirmgrößen) anzupassen. Unsere Webseite soll also auf dem großen Bildschirm des Desktop-Computers genauso gut aussehen wie auf einem Smartphone-Display…Um das zu erreichen, kommen jetzt Media Queries ins Spiel.

Methode 1 = Link-Element

Die Media Queries können innerhalb des head-Bereiches einfach als link-Element zugefügt werden.

<link rel="stylesheet" href="01_CSS/600.css" media="screen and (max-width: 600px)">


Im hier gezeigten Beispiel wird bis zu einer Maximalbreite von 600 Pixeln eine eigene CSS-Datei ausgeliefert. Die Datei “600.css“ bekommt für dieses Experiment folgenden Inhalt…:

body {
background-color: red;
color: black;
}

header {
background-color: green;
}

Der Hintergrund von body wird also in rot gestaltet und der header bekommt die Hintergrundfarbe grün.

Methode 2 = @media-Anweisung

Methode 2 verzichtet auf zusätzliche link-Elemente und lagert alles direkt in die CSS-Dateien aus. In der “zentrale.css“ wird folgender Eintrag ergänzt…:

@import url(09_responsiv01.css);


Diese neue CSS-Datei wird jetzt natürlich auch erstellt und bekommt folgenden Inhalt…:

@media screen and (max-width: 600px){
header {
background-color: green;
}
} /* Ende von @media nicht löschen*/


Das Grundgerüst für Responsives Webdesign ist also erstellt.


Der HTML Quelltext:

<!DOCTYPE html> 
<html lang="de">

<head> 
<title>Webdesign</title>
<link rel="stylesheet" href="01_CSS/01_zentrale.css" type="text/css" />
<link rel="stylesheet" href="01_CSS/600.css" media="screen and (max-width: 600px)">
<link rel="stylesheet" href="01_CSS/galaxy.css" media="screen and (min-width: 360px) and (max-width: 360px) and (min-height: 740px) and (max-height: 740px)">
<meta charset="UTF-8">
</head> 

<body>
<div id="wrapper"> 
<header> 
</header>

<nav> <!-- Anfang vom nav-Element -->

<ul>
   <li><a href="index.html">Startseite 1</a></li>
   <li><a href="index.html">Startseite 2</a></li>
</ul>

</nav> <!-- Ende vom nav-Element  -->

<main>

<article>
<h1>Responsives Webdesign:</h1>
<p>
Willkommen auf meiner ersten responisven Webseite...
</p>
</article>
<br />

</main> <!-- Ende vom main-Element -->

<footer> <!-- Anfang vom footer-Element -->
</footer> <!-- Ende vom footer-Element -->

</div> <!-- Ende vom wrapper-Bereich -->
</body>
</html>


Der CSS Code für die Datei “01_zentrale.css“:

@import url(02_fundament.css);
@import url(03_body.css);
@import url(04_wrapper.css);
@import url(05_kopfbereich.css);
@import url(06_navibereich.css);
@import url(07_textbereich.css);
@import url(08_artikel.css);


Der CSS Code für die Datei “02_fundament.css“:

@media all {

* {
padding: 0;
margin: 0;
}

html {
height: 101%;
}
} /* Ende von @media nicht löschen*/


Der CSS Code für die Datei “03_body.css“:

@media all {

body {
background-color: white;
color: black;
}
} /* Ende von @media nicht löschen*/


Der CSS Code für die Datei “04_wrapper.css“:

@media all {

#wrapper {
margin: 5px;
background-color: white;
color: black;
}
} /* Ende von @media nicht löschen*/


Der CSS Code für die Datei “05_kopfbereich.css“:

@media all {

header {
height: 80px;
background-image: url(../cpm-header01.jpg);
background-repeat: no-repeat;
background-color: steelblue;
color: white;

margin-top: 5px;
margin-right: 5px;
margin-bottom: 5px;
margin-left: 5px;

border-top-width: 1px;
border-right-width: 1px;
border-bottom-width: 1px; 
border-left-width: 1px;

border-top-style: solid;
border-right-style: solid;
border-bottom-style: solid;
border-left-style: solid;

border-top-color: black;
border-right-color: black;
border-bottom-color: black;
border-left-color: black;

padding-top: 5px;
padding-right: 5px;
padding-bottom: 5px;
padding-left: 5px;
}
} /* Ende von @media nicht löschen*/


Der CSS Code für die Datei “06_navibereich.css“:

@media all {

nav {
position: absolute;
top: 97px;
left: 5px;
width: 210px;
background-color: steelblue;
color: white;

margin-top: 5px;
margin-right: 5px;
margin-bottom: 5px;
margin-left: 5px;

border-top-width: 1px;
border-right-width: 1px;
border-bottom-width: 1px; 
border-left-width: 1px;

border-top-style: solid;
border-right-style: solid;
border-bottom-style: solid;
border-left-style: solid;

border-top-color: black;
border-right-color: black;
border-bottom-color: black;
border-left-color: black;

padding-top: 10px;
padding-right: 10px;
padding-bottom: 10px;
padding-left: 10px;

font-family: Arial;
font-size: smaller;
}

nav li {
display: block;
list-style-type: none;
padding: 3px;
}

nav a:link {
color: black;
background-color: white;
display: block;
text-decoration: none;
padding: 3px;
}

nav a:visited {
color: black;
background-color: white;
display: block;
text-decoration: none;
}

nav a:hover {
background-color: red;
color: black;
display: block;
text-decoration: none;
}

nav a:focus {
color: black;
background-color: white;
display: block;
text-decoration: none;
}

nav a:active {
color: black;
background-color: white;
display: block;
text-decoration: none;
}
} /* Ende von @media nicht löschen*/


Der CSS Code für die Datei “07_textbereich.css“:

@media all {

main {
background-color: steelblue;
color: white;

margin-top: 3px;
margin-right: 5px;
margin-bottom:5px;
margin-left: 241px;

border-top-width: 1px;
border-right-width: 1px;
border-bottom-width: 1px; 
border-left-width: 1px;

border-top-style: solid;
border-right-style: solid;
border-bottom-style: solid;
border-left-style: solid;

border-top-color: black;
border-right-color: black;
border-bottom-color: black;
border-left-color: black;

padding-top: 20px;
padding-right: 20px;
padding-bottom: 20px;
padding-left: 20px;

font-family: Arial;
font-size: smaller;
}

main a:link {
color: white;
background-color: steelblue;
text-decoration: underline;
}

main a:visited {
color: white;
background-color: steelblue;
text-decoration: underline;
}

main a:hover {
color: black;
background-color: white;
text-decoration: underline;
}

main a:focus {
color: white;
background-color: steelblue;
text-decoration: underline;
}

main a:active {
color: white;
background-color: steelblue;
text-decoration: underline;
}
} /* Ende von @media nicht löschen*/


Der CSS Code für die Datei “08_artikel.css“:

@media all {

article {
overflow: hidden;
color: black;
background-color: lightsteelblue;
padding: 5px;
border-style: solid;
border-color: black;
border-width: 1px;
}

.clearingtext {
clear: both;
background-color: lightsteelblue;
}

.bildlinks {
float: left;
margin-top: 5px;
margin-right: 15px;
margin-bottom: 5px;
margin-left: 0px;

border-top-width: 1px;
border-right-width: 1px;
border-bottom-width: 1px; 
border-left-width: 1px;

border-top-style: solid;
border-right-style: solid;
border-bottom-style: solid; /* dashed ergibt eine gestrichelte Rahmenlinie*/
border-left-style: solid;

border-top-color: black;
border-right-color: black;
border-bottom-color: black;
border-left-color: black;
}

.bildrechts {
float: right;
margin-top: 5px;
margin-left: 15px;
margin-bottom: 5px;
border-style: solid;
border-width: 1px;
}
} /* Ende von @media nicht löschen*/


Der CSS Code für die Datei “600.css“:

body {
background-color: red;
color: black;
}

header {
background-color: green;
}

nav {
top: 97px;
left: 5px;
width: 210px;
background-color: steelblue;
color: white;

margin-top: 5px;
margin-right: 5px;
margin-bottom: 5px;
margin-left: 5px;

border-top-width: 1px;
border-right-width: 1px;
border-bottom-width: 1px; 
border-left-width: 1px;

border-top-style: solid;
border-right-style: solid;
border-bottom-style: solid;
border-left-style: solid;

border-top-color: black;
border-right-color: black;
border-bottom-color: black;
border-left-color: black;

padding-top: 10px;
padding-right: 10px;
padding-bottom: 10px;
padding-left: 10px;

font-family: Arial;
font-size: smaller;
}

nav li {
display: block;
list-style-type: none;
padding: 3px;
}

nav a:link {
color: black;
background-color: white;
display: block;
text-decoration: none;
padding: 3px;
}

nav a:visited {
color: black;
background-color: white;
display: block;
text-decoration: none;
}

nav a:hover {
background-color: red;
color: black;
display: block;
text-decoration: none;
}

nav a:focus {
color: black;
background-color: white;
display: block;
text-decoration: none;
}

nav a:active {
color: black;
background-color: white;
display: block;
text-decoration: none;
}

main {

background-color: steelblue;
color: white;

margin-top: 3px;
margin-right: 5px;
margin-bottom:5px;
margin-left: 5px; /*war 241*/

border-top-width: 1px;
border-right-width: 1px;
border-bottom-width: 1px; 
border-left-width: 1px;

border-top-style: solid;
border-right-style: solid;
border-bottom-style: solid;
border-left-style: solid;

border-top-color: black;
border-right-color: black;
border-bottom-color: black;
border-left-color: black;

padding-top: 20px;
padding-right: 20px;
padding-bottom: 20px;
padding-left: 20px;
font-family: Arial;
font-size: smaller;
}

main a:link {
color: white;
background-color: steelblue;
text-decoration: underline;
}

main a:visited {
color: white;
background-color: steelblue;
text-decoration: underline;
}

main a:hover {
color: black;
background-color: white;
text-decoration: underline;
}

main a:focus {
color: white;
background-color: steelblue;
text-decoration: underline;
}

main a:active {
color: white;
background-color: steelblue;
text-decoration: underline;
}


Der CSS Code für die Datei “galaxy.css“:

body {
background-color: blue;
color: black;
}

header {
background-color: yellow;
}

Von Torsten