Videos eBook Forum Kontakt

jetzt Videos kaufen
zum Lernen von HTML,
CSS und Webdesign

Jetzt das HTML-Seminar bestellen als
Video-Tutorial mit über 210 Videos:
von den Grundlagen bis zur fertigen Website
Video-Kurs HTML5, CSS & Webdesign

Video-Kurs bestellen HTML5, CSS & Webdesign
Video-Kurs bestellen HTML5, CSS & Webdesign

CSS: absolute Positionierung und Kindelemente

Wichtig bei der absoluten Positionierung ist das Verständnis von Eltern- und Kindelementen. Dadurch eröffnen sich verschiedene Möglichkeiten für Design. Im ersten Schritt schauen wir uns das Beispiel mit Platzieren eines Elementes am Rand unten rechts an und dann das Konzept der Eltern- und Kindelemente.

Wir wollen die blaue Box unten rechts platzieren.

Wir nehmen den Quellcode, der im letzten Abschnitt entstanden ist her und ändern diesen entsprechend ab. Falls der Code nicht griffbereit ist, hier zum Copy & Paste:

<!DOCTYPE html>
<html>
 
<head>
    <title>Lösung position absolute (vereinfacht)</title>
    <meta charset="UTF-8">
    <link href="style-loesung-position-absolute.css" rel="stylesheet">
</head>
 
<body>
 
<h1>Lösung Aufgabe position: absolute;</h1>
 
<div id="box1" class="boxgroesse">
hier kommt der 1. Inhalt
</div>
 
<div id="box2" class="boxgroesse">
hier kommt der 2. Inhalt
</div>
 
<div id="box3" class="boxgroesse">
hier kommt der 3. Inhalt
</div>
 
</body>
</html>

Und der dazugehörige CSS-Teil

.boxgroesse {
  width: 250px;
  height: 175px;
}
 
#box1 {
  background-color: red;
  position: absolute;
  top: 90px;
  left: 100px;
}
 
#box2 {
  background-color: green;
  position: absolute;
  top: 70px;
  left: 300px;
}
 
#box3 {
  background-color: blue;
  position: absolute;
  top: 210px;
  left: 200px;
}

Im ersten Schritt verkleinern wir die #box3. Im bestehenden Quellcode sehen wir, dass die Größen für die Boxen einmalig als Klasse definiert wurden.

Wir wollen aber die #box3 100px auf 100px haben.

Also ergänzen wir den ID-Selektor.

#box3 {
  background-color: blue;
  position: absolute;
  top: 210px;
  left: 200px;
  width: 100px;
  height: 100px;
}

Es fühlt sich nun danach an, als ob wir für die box3 die Größe doppelt definiert haben. Einmal mit 250px Breite und einmal mit 100px Breite. Das stimmt, aber da der ID-Selektor ein größeres Gewicht als der Class-Selektor hat, gewinnen die 100px. Man spricht von Wertigkeit der verschiedenen Selektoren.

Im nächsten Schritt platzieren wir die Box rechts unten. Dazu werfen wir die Angaben top und left raus und setzen in die CSS-Anweisung bottom und right. Jeweils auf 0, da wir ja die Box rechts unten haben wollen.

#box3 {
  background-color: blue;
  position: absolute;
  /* top: 210px;  */
  /* left: 200px;  */
  width: 100px;
  height: 100px;
  bottom: 0;
  right: 0;
}

Kindelement: ein Bereich innerhalb eines anderen Bereiches

Nun kommen wir zu dem Konzept von Kindelementen. Wenn die blaue Box nun rechts unten in die grüne Box platziert werden soll, muss die blaue Box zum Kindelement werden und die grüne Box das Elternelement.

Bisher ist die Box3 nur dem Body untergeordnet. Platzieren wir die box3 nun in die box2, wird die box3 zum Kindelement von box2.

Wir packen also im HTML den DIV-Bereich der box3 in den DIV-Bereich der box2. Hier der komplette HTML-Bereich:

<!DOCTYPE html>
<html>
 
<head>
    <title>Beispiel Kindelement</title>
    <meta charset="UTF-8">
    <link href="style-kindelement-position-absolute.css" rel="stylesheet">
</head>
 
<body>
 
<h1>Beispiel Kindelement</h1>
 
<div id="box1" class="boxgroesse">
hier kommt der 1. Inhalt
</div>
 
<div id="box2" class="boxgroesse">
    hier kommt der 2. Inhalt
 
    <div id="box3" class="boxgroesse">
    hier kommt der 3. Inhalt
    </div>
</div>
 
</body>
</html>

Und der Vollständigkeit halber der komplette CSS-Code

.boxgroesse {
  width: 250px;
  height: 175px;
}
 
#box1 {
  background-color: red;
  position: absolute;
  top: 90px;
  left: 100px;
}
 
#box2 {
  background-color: green;
  position: absolute;
  top: 70px;
  left: 300px;
}
 
#box3 {
  background-color: blue;
  position: absolute;
  width: 100px;
  height: 100px;
  bottom: 0;
  right: 0;
}

Vom Aussehen haben wir nun die blaue unten in der grünen Box, wie im folgenden Bild dargestellt.

DIV als Kindeelement eines DIV-Elements
DIV als Kindeelement eines DIV-Elements

Für was das Ganze? Es ist ein Vorgriff auf unsere Fußzeile, die immer unten sitzen sollte. Wie dies funktioniert wird im folgenden Kapitel erläutert.

weitere eigene Projekte: