Galileo Computing < openbook >
Galileo Computing - Professionelle Buecher. Auch fuer Einsteiger.
Galileo Computing - Professionelle Buecher. Auch fuer Einsteiger.


Kompendium der Informationstechnik
 von Sascha Kersken
EDV-Grundlagen, Programmierung, Mediengestaltung
Buch: Kompendium der Informationstechnik
gp Kapitel 16 HTML und XHTML
  gp 16.1 Einführung
    gp 16.1.1 Regeln für Datei- und Verzeichnisnamen im Webbereich
    gp 16.1.2 HTML-Dateien eingeben
  gp 16.2 HTML und XHTML
    gp 16.2.1 Die Grundstruktur von HTML-Dokumenten
    gp 16.2.2 Textstrukturierung und -formatierung
    gp 16.2.3 Trennlinien
    gp 16.2.4 Listen und Aufzählungen
    gp 16.2.5 Farben in HTML
    gp 16.2.6 Hyperlinks
    gp 16.2.7 Bilder in Webseiten einbetten
    gp 16.2.8 Tabellen
    gp 16.2.9 Formulare
    gp 16.2.10 Einbetten von Multimedia-Dateien
    gp 16.2.11 Frames
    gp 16.2.12 Meta-Tags und Suchmaschinen
  gp 16.3 Cascading Stylesheets (CSS)
    gp 16.3.1 Platzieren von Stylesheets
    gp 16.3.2 Stylesheet-Wertangaben
    gp 16.3.3 Stylesheet-Eigenschaften
    gp 16.3.4 Layer erzeugen und positionieren
  gp 16.4 Zusammenfassung

gp

Prüfungsfragen zu diesem Kapitel (extern)


Galileo Computing

16.3 Cascading Stylesheets (CSS)  downtop

CSS sind kein integraler Bestandteil von HTML, gehören aber zu den Neuerungen, die das W3C bereits seit der HTML-4.0-Spezifikation empfiehlt und fördert. Durch Stylesheets wird die Struktur eines HTML-Dokuments vollständig von seinem Inhalt getrennt. Dies macht die Dokumente einerseits erheblich übersichtlicher, weil die unzähligen layoutorientierten Tags entfallen, und ermöglicht zum anderen die saubere Definition des Layouts an zentraler Stelle.

Konkret geht es darum, Stilvorlagen für das Aussehen beliebiger HTML-Elemente zu definieren. Das bedeutet, dass Sie mit Hilfe von CSS sehr konkret in das Layout einer Webseite oder einer ganzen Site eingreifen können, indem Sie etwa festlegen, dass alle Überschriften vom Typ <h1> ... </h1> rot, zentriert und in kursiver 36-Punkt-Helvetica erscheinen sollen.

Die Arbeit mit Stylesheets hat folgende Vorteile:

gp  Die Erzeugung eines immer wiederkehrenden, einheitlichen Layouts wird erheblich vereinfacht – einmal festgelegt, können bestimmte Formatierungen automatisch wiederholt werden.
gp  Es ist mit Hilfe von Stylesheets erstmals möglich, Elemente auf einer Webseite pixelgenau zu platzieren – im Extremfall sogar übereinander. Auf diese Weise können Sie beispielsweise Text mit Schatten oder Text auf einem Bild realisieren.
gp  In Zusammenarbeit mit JavaScript können Elemente, die CSS zur Stilfestlegung verwenden, dynamisch in ihren Eigenschaften verändert werden. In diesem Zusammenhang spricht man gern von DHTML (Dynamic HTML). Das W3C empfiehlt dazu die Verwendung eines allgemeinen Objektmodells, das alle Elemente des Browsers und des HTML-Dokuments standardisiert (DOM, Document Object Model).

Leider kommt man aber auch nicht umhin, einige gravierende Nachteile von CSS aufzuführen:

gp  CSS sind eine relativ neue Entwicklung und werden bei weitem nicht von jedem Browser unterstützt. Der Microsoft Internet Explorer ab 3.0 und der Netscape Navigator ab 4.0 beherrschen grundsätzlich den Umgang mit Stylesheets. Neuere Versionen kommen der Originalspezifikation des W3C sogar erstaunlich nah. Aber die volle CSS-Unterstützung bietet noch kein existierender Browser; einige unterstützen CSS gar nicht.
    Die Verwendung von CSS ist also mit Vorsicht zu genießen: Wenn Sie auf gleichzeitige Layouteinstellungen mit alten »HTML-Bordmitteln« verzichten, dann ist in einem CSS-unfähigen Browser gar keine Formatierung mehr zu finden. Im Zweifelsfall müssen also zwei Versionen jeder Seite existieren, was erheblichen Mehraufwand bedeutet.
       
gp  Das pixelgenaue Platzieren hat ebenfalls seine Tücken: Da die Monitor- beziehungsweise Browserfenstergröße bei jedem Benutzer anders ist, gibt es keine allgemein optimalen Werte.

Galileo Computing

16.3.1 Platzieren von Stylesheets  downtop

Stylesheet-Angaben können an verschiedenen Stellen im Dokument oder in einer eigenen Datei stehen. Sie haben folgendes Schema:

selektor {
   attribut: wert;
   attribut: wert
}

Der Selektor gibt an, welches Objekt oder welche Gruppe von Objekten durch diese Stylesheet-Angabe formatiert werden soll. Es werden vier verschiedene Arten von Selektoren verwendet:

gp  Element. Hier wird der Name eines HTML-Tags angegeben, und zwar ohne seine Klammern. Beispiele: h1 oder td. Jedes Auftreten des Tags wird automatisch mit den angegebenen Formaten versehen.
    Möglich ist auch eine durch Komma getrennte Liste mehrerer HTML-Tags, für die gemeinsame Einstellungen gelten sollen. Es ist auch kein Problem, differierende Einstellungen noch einmal separat für jedes dieser Tags vorzunehmen.
       
gp  Klasse. Der Name einer Klasse beginnt mit einem Punkt. Ein HTML-Tag kann mit dem speziellen Attribut class="klassenname" versehen werden, damit es zusätzlich zu seinem normalen Stil diese speziellen Einstellungen erhält. Sie können sowohl eine Klasse für ein bestimmtes HTML-Tag einrichten (etwa h2.blau), die entsprechend nur für diese Art von Elementen verwendet werden kann, oder aber eine allgemeine Klasse wie .zitat, die jedem beliebigen Tag zugewiesen werden kann.
    Allgemeine CSS-Klassen werden häufig im Zusammenhang mit zwei besonderen Tags verwendet: <div> ... </div> ist ein absatzbildendes Element, genauer gesagt sogar eine frei schwebende, beliebig positionierbare Ebene (»DHTML-Layer«). <span> ... </span> kann dagegen beliebige Elemente innerhalb eines Absatzes umfassen und ihnen auf diese Weise Stylesheet-Formate zuweisen.
       
gp  Unabhängiger Stil. Ein unabhängiger Stil wird einem einzelnen Element im Dokument zugewiesen. Sein Name beginnt mit einer Raute (#); das gewünschte Element erhält diesen Stil über das Universalattribut id="stilname" (hier ohne Raute). Am häufigsten werden unabhängige Stile verwendet, um über das Tag <div> DHTML-Layer zu erzeugen.
gp  Pseudoformate. Diese Sonderform der Stylesheet-Angabe definiert die verschiedenen Stadien von Hyperlinks oder verschiedene Bereiche von Absätzen. Die Schreibweise für jeden der Hyperlink-Selektoren ist a:zustand, wobei der Zustand einen der folgenden Werte annehmen kann:
a:link ist der Grundzustand des Hyperlinks. a:visited beschreibt bereits besuchte Hyperlinks. a:hover bezeichnet einen Hyperlink, der gerade vom Mauszeiger berührt wird; dieser Zustand ermöglicht einen Rollover-Effekt für Hyperlinks, allerdings nur im Internet Explorer. a:active ist der aktuell angeklickte Hyperlink.

Der CSS-Code kann an folgenden Stellen definiert werden:

gp  In einem <style> ... </style>-Bereich im Head des Dokuments. Konkret sieht eine solche Angabe folgendermaßen aus:
<style type="text/css">
<!--
   /* Konkrete CSS-Angaben */
-->
</style>
    Die Verschachtelung der eigentlichen Stylesheet-Angaben in einen HTML-Kommentar ist üblich und verhindert, dass alte, CSS-unfähige Browser diese Angaben im Body der Seite ausgeben. Innerhalb solcher CSS-Blöcke und in externen CSS-Dateien können Sie Kommentare im C-Stil verwenden, wie oben gezeigt:
       
/* Kommentar */
gp  In einer externen Datei, einer Textdatei mit der Dateiendung .css. Eine solche Datei darf nur CSS und keinerlei HTML enthalten, auch keine <style>-Tags. Eingebunden wird eine solche Datei im Head eines HTML-Dokuments, und zwar folgendermaßen:
<link rel="stylesheet" href="format.css" />
    Eine moderne Alternative für das Einbinden von externen CSS-Dateien, die allerdings leider nicht von allen Browsern unterstützt wird, ist die Verwendung einer XML-Steueranweisung. Diese kann nicht nur in HTML-Dokumenten, sondern in beliebigen XML-Dokumenten stehen und ein Stylesheet einbinden, das das Aussehen der diversen XML-Elemente definiert:
       
<?xml-stylesheet type="text/css" href="format.css"?>
    Die Verwendung externer Stylesheet-Dateien ist besonders vorteilhaft, um einer umfangreichen Website ein einheitliches Layout zuzuweisen, das darüber hinaus an einer zentralen Stelle geändert werden kann.
       
gp  Innerhalb eines einzelnen HTML-Tags. Dazu dient das spezielle HTML-Attribut style="...". Beispiel:
<p style="..."> <!-- Absatz mit spezieller Formatierung --> </p>
<p>
<!-- Hier gilt wieder das normale Absatzformat -->
</p>

Galileo Computing

16.3.2 Stylesheet-Wertangaben  downtop

Bevor die einzelnen Attribute beschrieben werden, sollten Sie sich einen Überblick über die Arten von Werten verschaffen, die Attribute überhaupt annehmen können. Sie unterscheiden sich zum Teil erheblich von den Werten, die Sie traditionellen HTML-Attributen zuweisen können: Zum einen haben Sie oft viel mehr Auswahlmöglichkeiten, zum anderen sind die Angaben in der Regel konkreter und eindeutiger.

Im Einzelnen sind die folgenden Arten von Werten möglich:

gp  Festgelegte Werte. Viele Attribute kennen eine Reihe unterschiedlicher konkreter Angaben. Beispielsweise erhält das Attribut font-family eine Liste bevorzugter Schriftarten. Ein anderes Beispiel ist die Eigenschaft text-align, die die Textausrichtung angibt. Sie kann die festgelegten Werte left, right, center und justify annehmen.
gp  Numerische Werte. Die Angabe numerischer Werte erfordert eine Zahl und eine angehängte Maßeinheit ohne trennendes Leerzeichen. Tabelle 16.5 zeigt die möglichen Maßeinheiten.

Tabelle 16.5   Maßeinheiten für numerische Stylesheet-Werte

Maßeinheit Bedeutung Hinweise
px Pixel Die häufigste und wichtigste Maßeinheit
pt Punkt Der DTP-Punkt, /72 Zoll. Wird gern für die Schriftgröße verwendet.
mm Millimeter
Diese Angaben sind von der Bildschirmgröße und -auflösung abhängig.
Gebrochene Werte mit Punkt trennen: 2.5cm, nicht 2,5.
cm Centimeter
in Inch
(1“ = 2,54cm)
em Breite des M Entspricht dem Geviert, also der Höhe der aktuellen Schriftart.
ex Breite des x Wird manchmal als relative Angabe für Wort- oder Zeichenabstände verwendet.
% Prozent Im Allgemeinen relativ zum umgebenden Element (Tabellenzelle, Browserfenster). Bei Schriftangaben relativ zur Schriftgröße.

gp  Farben. Zulässig sind die bereits weiter oben beschriebenen HTML-Farbangaben. Eine andere Möglichkeit ist rgb(rotwert, grünwert, blauwert). Die drei Werte können dezimal zwischen 0 und 255 oder in Prozent angegeben werden.

Galileo Computing

16.3.3 Stylesheet-Eigenschaften  downtop

In diesem Unterabschnitt werden die wichtigsten Stylesheet-Attribute aufgelistet und erläutert. Wichtig ist, dass nicht alle Formatangaben bei jedem HTML-Tag zulässig sind. Bei den meisten Attributen ist relativ offensichtlich, für welche Tags sie geeignet sind; bei anderen finden Sie entsprechende Hinweise.

Textformatierung und Typografie

Die folgenden Attribute beschreiben die verschiedenen Aspekte der typografischen Auszeichnung. Sie sind bei fast jedem beliebigen Tag zulässig.

gp  font-family
Eine durch Komma getrennte Liste von Schriftarten; entspricht der traditionellen HTML-Angabe <font face="...">. Beispiel:
font-family: Verdana, Arial, Helvetica, sans-serif
gp  font-size
Die Angabe der Schriftgröße, meist in Punkt (12pt) oder Pixeln (20px). Die Pixel-Angabe ist zu bevorzugen. Sie wird plattformübergreifend identisch interpretiert, während Windows und Mac  OS unterschiedliche Vorstellungen von der Abbildung der Punkt-Angabe auf dem Monitor haben.
gp  font-style
Dient dazu, Schrift kursiv zu setzen. Die festgelegten Werte sind folgende: normal, italic (kursiv), oblique (elektronisch schräggestellt, kein separater Kursiv-Schnitt).
gp  font-weight
Gibt an, wie fett die Schrift dargestellt werden soll. Mögliche Werte sind entweder die festgelegte Angaben normal, bold (fett) und extra-bold (besonders fett) oder glatte numerische Hunderterschritte von 100 (extra light) bis 900 (black, also ultrafett). Die meisten verfügbaren Schriften definieren allerdings keineswegs neun verschiedene Stufen.
gp  text-decoration
Gibt an, dass der Text mit Linien versehen, das heißt unterstrichen werden soll und Ähnliches: none (keine Linie), underline (unterstrichen), overline (Linie darüber), line-through (durchgestrichen).
gp  letter-spacing
Gibt den Zeichenabstand oder die Laufweite des Textes an. Der Standardwert ist 0pt; positive Werte erzeugen gesperrten Text, negative verengen die Laufweite.

Absatz- und Bereichsformatierung

Die folgenden CSS-Attribute sind zur Formatierung aller absatzbildenden Elemente geeignet, beispielsweise für <p>-Elemente, aber auch für Tabellenzellen und ähnliche Tags.

gp  text-align
Gibt die Textausrichtung mit den möglichen Werten left (linksbündig), right (rechtsbündig), center (zentriert) oder justify (Blocksatz) an.
gp  text-indent
Gibt den Einzug an, also die Einrückung der ersten Zeile eines Bereichs. Der Wert ist numerisch. Positive Werte erzeugen einen eingerückten Einzug, während negative für einen hängenden Einzug sorgen. Für Letzteres ist allerdings eine zusätzliche Verschiebung des linken Randes mittels margin-left erforderlich.
gp  line-height
Bestimmt die Zeilenhöhe durch einen numerischen Wert. Der Standardwert ist etwas größer als die aktuelle Schriftgröße; ein höherer Wert erzeugt einen größeren Zeilenabstand.
gp  vertical-align
Dies ist die vertikale Ausrichtung des Elements; entspricht dem bekannten valign bei Tabellenzellen.
gp  display
Diese spezielle Angabe ist bei HTML im Grunde überflüssig, da für HTML-Tags klar ist, ob sie absatzbildend sind oder nicht. Wenn Sie CSS dagegen für allgemeine XML-Dokumente einsetzen, ist dieses Format sehr wichtig. Mögliche Werte sind block, wenn ein Element absatzbildend sein soll, oder inline für ein innerhalb einer Zeile stehendes Element.

Rahmen und Linien

Die folgenden CSS-Attribute regeln die Abstände und Rahmeneinstellungen beliebiger Elemente.

gp  margin-top, margin-bottom, margin-left, margin-right
Diese vier Attribute bestimmen den Abstand des Bereichs zur Umgebung nach oben, unten, links und rechts. Der Wert ist numerisch. Alternativ gibt margin einen identischen Abstand auf allen vier Seiten an.
gp  padding-top, padding-bottom, padding-left, padding-right
Diese Attribute geben den inneren Abstand eines Elements zu seinem Rand an. Auch hier ermöglicht ein einfaches padding eine einheitliche Angabe für alle vier Seiten. Der Unterschied zu den margin-Einstellungen zeigt sich, wenn eine sichtbare Rahmenlinie verwendet wird: padding setzt den inneren Raum bis zu diesem Rahmen, während margin den Außenabstand des Rahmens zur Umgebung festlegt.
gp  border-top, border-bottom, border-left, border-right
Die Werte für diese Attribute sind eine durch Leerzeichen getrennte Liste von Linienattributen für den äußeren Rand auf der angegebenen Seite eines beliebigen Elements. Stattdessen können Sie mit border einen einheitlichen Rahmen auf allen vier Seiten festlegen.
    Der erste Wert ist die Linienstärke mit den möglichen Werten thin (dünn), medium (mittel), thick (dick) oder einem beliebigen numerischen Wert. Alternativ kann dieser Wert in Stylesheets auch separat als border-width (beziehungsweise border-top-width und so weiter) angegeben werden.
       
    Es folgt die Angabe des Linienstils. Möglich sind die folgenden Werte: solid (einfache, durchgezogene Linie), dotted (gepunktet), dashed (gestrichelt), double (doppelter Rahmen) sowie die verschiedenen Relief-Effekte groove, ridge, inset und outset. Diese Angabe können Sie auch einzeln über das Attribut border-style setzen oder Angaben für die Rahmen auf den einzelnen Seiten machen, beispielsweise border-left-style.
       
    Schließlich wird die Linienfarbe eingestellt. Hier ist jede beliebige HTML- oder CSS-Farbangabe möglich. Sie lässt sich auch als Einzelwert über border-color oder pro Seite durch Attribute wie border-left-color festlegen.
       
    Hier zwei Beispiele, um das Ganze zu verdeutlichen:
       
border: medium solid #FF0000
    Auf allen vier Seiten sollen durchgezogene Randlinien mittlerer Dicke in Rot gesetzt werden.
       
border-top: 4 dashed #0000FF;
border-bottom: 4 dashed #0000FF;
border-left-width: 2;
border-left-style: dotted;
border-left-color: #009900
    Diese verschiedenen Einstellungen sorgen (unter Nichtberücksichtigung des guten Geschmacks) dafür, dass oben und unten 4 Pixel dicke, gestrichelte blaue Randlinien erscheinen, während sich links eine nur 2 Pixel starke, gepunktete blaue Linie befindet.
       

Farben und Bilder

Fast jedem Tag, zumindest jedem mit Textinhalt, können mit Hilfe der folgenden Angaben Text- und Hintergrundfarbe oder ein Hintergrundbild zugewiesen werden.

gp  color
Stellt die Vordergrund- beziehungsweise Textfarbe ein.
gp  background-color
Definiert die Hintergrundfarbe. Jedes beliebige Element kann indiviuell eingefärbt werden, sowohl absatzbildende Tags als auch Textauszeichnungs-Elemente.
gp  background-image
Legt ein Hintergrundbild für das Element fest. Der Wert ist die URL des Bildes.
gp  background-attachment
Bestimmt, ob das Hintergrundbild fixiert wird oder mit der Seite gescrollt wird. Die entsprechenden Werte lauten fixed oder scroll, wobei Letzteres Standard ist.
gp  background-repeat
Dieses Attribut bestimmt, ob und in welche Richtung ein Hintergrundbild gekachelt werden soll. Die zulässigen Werte sind repeat (in beide Richtungen kacheln), repeat-x (nur horizontal wiederholen), repeat-y (nur vertikal) oder no-repeat (keine Wiederholung, nur Einzelbild).

Galileo Computing

16.3.4 Layer erzeugen und positionieren  toptop

Eine zusätzliche Aufgabe von CSS besteht in der Definition von Eigenschaften für so genannte Dynamic-HTML-Layer. Es handelt sich um unabhängige Ebenen, die frei über der eigentlichen Webseite »schweben« und beliebig positioniert werden können. Nachdem ein Layer erstellt wurde, können seine CSS-Eigenschaften wie Position oder Sichtbarkeit mit Hilfe der Skriptsprache JavaScript nachträglich geändert werden (siehe Kapitel 19).

Technisch gesehen wird ein Layer durch ein <div>-Tag gebildet, das dafür ein id-Attribut mit einem eindeutigen Namen und die CSS-Eigenschaft position benötigt. Praktischerweise kann das id-Attribut auch gleich zur Definition der Stylesheet-Formatierung für den Layer über eine unabhängige Stildefinition verwendet werden.

Für Layer werden die folgenden speziellen Formate definiert:

gp  position
Abgesehen davon, dass ein <div> ohne diese Angabe kein Layer, sondern lediglich eine Art Absatz ist, legt das Attribut über seinen Wert die Art der Positionsangaben für den Layer fest: Der Wert absolute bedeutet, dass die Positionsangaben in Pixeln erfolgen, während relative sie in Prozent des Browserfensters angibt.
gp  left
Die x-Position des Layers, das heißt sein Abstand vom linken Seitenrand. Der Wert wird je nach position-Festlegung in Pixeln (zum Beispiel 100px) oder in Prozent (beispielsweise 30%) angegeben.
gp  top
Diese Eigenschaft gibt entsprechend die y-Position des Layers an, also den Abstand vom oberen Rand.

Alternativ können auch right und bottom (der Abstand vom rechten beziehungsweise unteren Rand) verwendet werden.

gp  z-index
Dieses Attribut gibt die »Stapelreihenfolge« von Layers an: Je höher der Wert, desto weiter liegt der Layer im Vordergrund. Falls z-index weggelassen wird, werden die Layers des Dokuments einfach in der Reihenfolge gestapelt, in der sie im HTML-Code definiert werden.

Layer-Beispiele

Auf dem Bild test.jpg, das sich 100 Pixel vom oberen und 100 Pixel vom linken Rand entfernt befindet, soll der Text »Hallo« erscheinen.

Dazu werden zunächst in einem <style>-Block im Head die folgenden unabhängigen Formate definiert:

#bild {
   position: absolute;
   top: 100px;
   left: 100px;
   z-index: 1
}
#text {
   position: absolute;
   top: 110px;
   left: 110px;
   z-index: 2;
   font-size: 18pt;
   color: #FFFF0 }  

Anschließend werden im Body des HTML-Dokuments die beiden Layer definiert:

<div id="bild"><img src="test.jpg" width="200" height="200" 
alt="Bild mit Text darauf" /></div>
<div id="text">Hallo</div>

Das nächste Beispiel versieht einen Text mit einem »Schlagschatten«; der Text wird einmal in Dunkelgrau und einmal in einer anderen Farbe leicht verschoben übereinander gesetzt.

Als Erstes erfolgt wieder die Stylesheet-Definition im Head:

#schrift
{
   postion: absolute;
   top: 10px;
   left: 10px;
   z-index: 2;
   color: #FF0000;
   font-family: Arial, Helvetica, sans-serif;
   font-size: 24pt;
   font-weight: bold
}
#schatten
{
   postion: absolute;
   top: 14px;
   left: 7px;
   z-index: 1;
   color: #333333;
   font-family: Arial, Helvetica, sans-serif;
   font-size: 24pt;
   font-weight: bold
}

Diese Definitionen können nun folgendermaßen für Layers verwendet werden:

<div id="schrift">Wenn wir &uuml;ber den Schatten 
streiten,<br />&uuml;bersehen wir das Wesentliche.<br />
-- Aesop</div>
<div id="schatten"> Wenn wir &uuml;ber den Schatten 
streiten,<br />&uuml;bersehen wir das Wesentliche.<br />
-- Aesop </div>

Abbildung 16.9 zeigt die Darstellung beider Layer-Beispiele im gleichen HTML-Dokument. Dazu wurden lediglich die z-index-Werte angepasst, um vier verschiedene »Stufen« zu erhalten.


Abbildung 16.9   Beispiel für frei schwebende DHTML-Layers und CSS-Formatierungen

Abbildung
Hier klicken, um das Bild zu Vergrößern


  

Einstieg in PHP 5

Einstieg in Java

C von A bis Z

Einstieg in C++

Einstieg in Linux

Einstieg in XML

Apache 2




Copyright © Galileo Press GmbH 2004
Für Ihren privaten Gebrauch dürfen Sie die Online-Version natürlich ausdrucken. Ansonsten unterliegt das <openbook> denselben Bestimmungen, wie die gebundene Ausgabe: Das Werk einschließlich aller seiner Teile ist urheberrechtlich geschützt. Alle Rechte vorbehalten einschließlich der Vervielfältigung, Übersetzung, Mikroverfilmung sowie Einspeicherung und Verarbeitung in elektronischen Systemen.


[Galileo Computing]

Galileo Press GmbH, Gartenstraße 24, 53229 Bonn, Tel.: 0228.42150.0, Fax 0228.42150.77, info@galileo-press.de