Introduction to
Technologies
Stylesheets mit CSS
HTML-CSS
enthält den Inhalt
HTMLDatei
CSSDatei
*.html
*.css
Darstellung des
Seiteninhaltes
im erstellten Layout
Browser
enthält die Layoutangaben
ist austauschbar
Was CSS kann
Farben, Effekte, Schriften, Positionen
u.v.m. festlegen
HTML-Elemente und selbst definierte
Elemente beschreiben
HTML-Seiten für verschiedene Ausgabeund Anzeigegeräte optimieren
Layoutinformationen zur Verfügung
stellen, ohne in HTML-Datei eingreifen zu
müssen
Was CSS nicht kann
dynamische Webseiten erzeugen – wenn
Seite im Browser angezeigt wird, braucht
man ein Programm, um diese Darstellung
zu ändern
automatische Auswahl des passenden
Stylesheets für Benutzergruppen
es gibt alte Browser, die CSS nicht
darstellen können (IE 2, Netscape 3 ...)
CSS - Regeln
Regel: Selektor Eigenschaft Wert
h1 {
color:
red;
font-size:
large;
}
Selektor gibt HTML-Elemente an, auf die sich die
Regel bezieht
Deklarationen beschreiben die Darstellung aller
Elemente, auf die sich der Selektor bezieht
Deklaration
besteht aus zwei Teilen
Eigenschaft, die verändert werden soll
und Wert, den die Eigenschaft annehmen
soll
color: red;
Eigenschaft color (Farbe) wird geändert,
neuer Wert ist red (rot)
CSS Beispiel
h1 {
color:
font-size:
}
red;
large;
h1 ist die Bezeichnung für eine Überschrift erster
Ordnung
Regel wird also auf alle derartigen Überschriften
angewendet
Hierarchie von HTML-Dokumenten
Vererbung: übergeordnete Elemente
können Eigenschaften an untergeordnete
Elemente weitergeben
Wenn für untergeordnete Elemente
Eigenschaften nicht definiert wurden,
werden die Einstellungen der
übergeordneten Elemente verwendet
manche Eigenschaften werden nicht
vererbt (z.B. width als Breitenangabe eines
Elementes)
Verknüpfung von CSS und HTML
CSS-Anweisungen im Kopf der HTML-Datei
<style type="text/css">
<!–
/* ... Hier werden die Formate definiert ... */
-->
CSS-Anweisungen innerhalb eines HTMLElementes
<h1 style="[element-spezifische Formate]">Das
style-Attribut</h1>
CSS-Anweisungen in einer separaten Datei
<link rel="stylesheet" type="text/css"
href="formate.css">
Beispiel HTML-Element formatieren
<p style="background-color:#808040;
color:#D8FD02; font-family:'Century
Schoolbook',serif; font-size:2em;
letter-spacing:3px; padding:40px;
border:double #D8FD02 4px;"
title="Zitat von Francis Picabia">
Unser Kopf ist rund, damit das
Denken die Richtung wechseln kann!
</p>
Stylesheets für verschiedene Ausgabemedien
<link rel="stylesheet" media="screen"
href="website.css">
<link rel="stylesheet" media="print,
embossed" href="druck.css">
<link rel="stylesheet" media="aural"
href="speaker.css">
CSS anwenden
Folgende Beispiele sind für CSS in separater
Datei
Rangfolge der Stylesheets:
Benutzer-Stylesheet mit !important
Autoren-Stylesheet mit !important
Autoren-Stylesheet
Benutzer-Stylesheet
Browser-Stylesheet
Weiterhin wird nach Spezifität sortiert:
direkt zugewiesene CSS-Deklarationen
ID-Attribute
Klassen
Elementtyp-Selektor
ein oder mehrere HTML-Tags als
Selektoren
h1, h2, h3{
font-size : 18px;
text-transform : capitalize;
}
Universeller Selektor - CSS
kein bestimmter Selektor angegeben,
Eigenschaft bezieht sich auf alle Elemente
der Seite
* {
color : red;
}
Klassen-Selektor
Stil für mehrere HTML-Elemente auf einmal
Name für Klasse beliebig wählen und Punkt davor
schreiben (ohne Leerzeichen)
.spezial {
font-family: Verdana, Arial,
Helvetica, sans-serif;
}
Jedes HTML-Element kann dieser Regel
zugeordnet werden
Klassen-Selektor
Einbindung in HTML
<p class= “spezial“> Ein Absatz mit Inhalt.</p>
<li class= “spezial“> Listenpunkt</li>
stellt den Text „Ein Absatz mit Inhalt“ und
„Listenpunkt“ in einer serifenlosen Schrift
dar (wie im CSS beschrieben)
Klassen-Selektor
Klasse für bestimmten Elementtyp
p.spezial{
font-family: Verdana, Arial,
Helvetica,
sans-serif;
}
HTML-Tag, dann Punkt, dann Name (ohne
Leerzeichen)
In HTML muss diesem Elementtyp dann extra die
Klasse spezial zugewiesen werden
ID-Selektor
Stilregeln für ein einzelnes HTML-Element auf der
Seite festlegen
diese Regel überschreibt sämtliche andere
zentralen Regeln, die sonst gelten könnten
Schreibweise: Namen ausdenken und hinter #
schreiben
#einzigartig {
font-size : 10px;
}
ID-Selektor
muss im HTML mit dem Namen
gekennzeichnet sein
<p id=“einzigartig”> Absatz mit kleiner
Schrift</p>
ID-Regeln haben grundsätzlich Vorrang
gegenüber Klassenregeln
ID-Selektor
HTML-Elemente können eine ID und eine
Klasse zugewiesen bekommen
<div id=“suchbox“ class=“seitenleiste“>
alle Formatierungen der ID-Regel haben
Vorrang gegenüber den Angaben der
Klassenregel
Pseudo-Klassen in CSS2
:hover, Element, das gerade mit der Maus
überfahren wird
:active, gerade angeklicktes Element
:focus, Element, das den Fokus hat
:link, Verweis zu noch nicht besuchter
Seite
:visited, Verweis zu bereits besuchter
Seite
Selektor für Nachfahren
außer HTML sind alle Elemente Nachfahren
von mindestens einem anderen Element
Stilregeln sind möglich, die nur für
untergeordnete Elemente eines
bestimmten Elementes gelten
z.B. Formatierungsanweisungen nur für
<li>-Elemente, die sich in der
Navigationsliste befinden
Selektoren für Nachfahren
#navlist li
{
list-style: none;
margin: 0;
padding: 0.25em;
border-top: 1px solid gray;
}
Selektoren
Selektoren für direkt über- und untergeordnete
Elemente
div > p{
font-weight: bild;
}
Selektoren für benachbarte Elemente
h1 + h2 {
margin-top: 11px;
}
Absolute Maßangaben
Inch in (2,54 cm)
Zentimeter cm
Millimeter mm
Punkt pt (3,53 mm)
Pica pc (12 Punkte, 42,33 mm)
Pixel px (ein Punkt auf dem Bildschirm)
Relative Maßangaben
Größenangabe bezüglich eines Ausgangswertes
Prozentuale Angaben
Verhältnis zur Höhe der Versalie M em
Verhältnis zur Höhe des Kleinbuchstaben x ex
Pixel-Angaben erzeugen ein stabiles
Größenverhältnis zwischen Text und Bildern,
auch bei unterschiedlicher Bildschirm-Auflösung
bei Schriftgröße sollte man möglichst auf genaue
Vorgaben verzichten
Box-Modell
Grundlage für Seitenaufbau
Breite und Höhe von Elementen
Innenabstände in alle vier Richtungen
(entspricht „Auffüllen“ im Dreamweaver)
Box-Modell
Außenabstände für alle vier
Richtungen
(entspricht „Rand“ im Dreamweaver)
Layout mit Stylesheets
enthalten alle Layout-Informationen
mit Inhalts-Entwickler müssen alle Bestandteile
der Seiten abgesprochen sein
Namen für alle Teile vergeben
beim Entwickeln des Inhalts: alle Bestandteile
korrekt benennen
beim Entwickeln des Layouts: für alle
abgesprochenen Bestandteile das Layout
beschreiben
Vorüberlegungen
1.
2.
3.
Welchen Inhalt soll die Seite haben?
Wie soll die Struktur der Seite aufgebaut
sein?
Welche Layoutobjekte brauche ich dafür?
Schritt 1: Inhalt
Beispiel: Vortrag über Digitalkameras
inhaltliche Schwerpunkte überlegen
grobe Gliederung aufstellen
Recherche
Schritt 2: Struktur
Layout-Skizze oftmals als Ausgangspunkt
geeignet
Bestandteile der Seite auflisten, wie Kopfoder Fußzeile, Navigationsbereich,
Textbereich, Spalten usw.
inhaltliche Gliederung auf Seiten aufteilen
Bezeichner für Navigationsleiste wählen,
evtl. Unterpunkte
Schritt 3: Layoutobjekte
alles, was einzeln beschrieben werden soll,
muss ansprechbar sein – muss also einen
Namen haben
Festlegen, was Layoutobjekte sein müssen
Namen dafür überlegen
Vorgehensweise
1.
2.
3.
4.
5.
6.
neue leere HTML-Datei erzeugen
erforderliche Layout-Objekte in die HTML-Datei
einfügen, dabei auf korrekte Bezeichnung
achten
Inhalte der ersten Seite einfügen
neue leere CSS-Datei erzeugen
für jedes Layout-Objekt ein Stylesheet in die
CSS-Datei einfügen und beschreiben
CSS-Datei in die HTML-Datei einbinden
Gestaltungsbeispiel
Wie ist die Seite aufgebaut?
Aus welchen Elementen besteht sie?
Wie erfolgt die Navigation?
Wie wird der Inhalt dargestellt?
Wie ist die Trennung zwischen Inhalt und
Form realisiert?
Wie ist die Seite aufgebaut?
Navigationsbereich
Seiteninhalt
gestalterische Elemente
Aus welchen Elementen besteht sie?
div-Bereich id=navigation
div-Bereiche
id=navi
div-Bereich
id=lineo
div-Bereich
id=text
div-Bereich
id=pic
div-Bereich
id=lineu
Aus welchen Elementen besteht sie?
Navigationsbereich, der Bildbereiche
enthält
sowohl Navigationsbereich insgesamt als
auch jeder Bildbereich kann angesprochen
werden
Inhaltsbereiche unabhängig voneinander,
können nicht als Ganzes beschrieben
werden (wäre das nötig?)
Wie erfolgt die Navigation?
Navigationsbereich eher untypisch für
Hypertextanwendung
sequentielles Anzeigen der Seiten
Benutzer kann nicht direkt eine bestimmte
Seite anschauen
Ausnahme: Home-Link, der zur Startseite
verweist
Wie wird der Inhalt dargestellt?
Verwendung von Bildern auch für Inhalt (Text)
problematisch, da dieser Text nicht gestaltet und
auch nicht automatisch ausgewertet werden kann
Bilder können für Neugestaltung nur
ausgetauscht oder neu positioniert werden
Inhalte müssen dem Gestalter bekannt und
zugänglich sein
bei Text-Darstellung kann unformatierter Text
erzeugt werden, der dann mit CSS gestaltet wird
Trennung Inhalt - Form
prinzipiell gegeben (siehe Problem der
Bilder)
Änderung des Inhaltes erfordert keine
Änderung des Designs und umgekehrt
Änderung der Form bzw. Beschreibung der
Form möglich ohne detaillierte Kenntnis
des Inhaltes
Verknüpfung Inhalt-Form
Darstellung am Beispiel
Darstellung ohne Stylesheet –
Standardannahmen werden verwendet
für <div>-Bereiche: nur Beginn neuer
Zeile für neuen Bereich
schrittweises Hinzufügen von DesignVorgaben
Darstellung ohne CSS
CSS für Gestaltungsbeispiel
#navigation: Positionierung des
Navigationsbereiches auf der Seite
Box-Modell: relative Positionierung,
Abstand von oben, von linkem Rand,
Breite und Höhe angeben
#navigation {
position: relative;
left: 360px;
top: 30px;
width: 250px;
height: 160px;
}
mit Positionierung der Navigation
CSS für Gestaltungsbeispiel
Darstellung der einzelnen
Navigationselemente nebeneinander
.navi {
display:inline;
}
Darstellung nebeneinander
CSS für Gestaltungsbeispiel
Positionieren der div-Bereiche für die Linien
#lineu {
position: absolute;
left: 50px;
top: 550px;
}
#lineo {
position: absolute;
left: 50px;
top: 115px;
}
Linien positionieren
CSS für Gestaltungsbeispiel
Text formatieren mit Schriftart, -farbe,
position
#text {
font-family: Arial, Helvetica, sans-serif;
font-size: 24px;
font-style: normal;
font-weight: normal;
font-variant: normal;
position: absolute;
left: 130px;
top: 150px;
}
Text formatiert
CSS für Gestaltungsbeispiel
Bildbereich positionieren
#pic {
position: absolute;
left: 50px;
top: 200px;
}
Bild positioniert
Vorteil von CSS
alle Designinformationen in einer CSSDatei
einfach austauschbar
z.B. Darstellung der Navigation am
unteren statt am oberen Rand
#navigation {
position: relative;
left: 360px;
top: 550px;
width: 250px;
height: 160px;
}
Beispiel: geänderte CSS-Datei
Schriftgebung
font: Zusammenfassung aller font-bezogenen Tags
(shorthand)
font-family: Bestimmt die Schriftart
font-size: Bestimmt die Schriftgröße
font-style: Bestimmt den Schriftstil (kursiv...)
font-weight: Bestimmt die Schriftdicke
letter-spacing: Verändert den Abstand der Buchstaben
zueinander
line-height: Bestimmt die Höhe der Zeile
text-align: Bestimmmt die Ausrichtung des Textes
text-decoration: Unterstreicht den Text
text-indent: Rückt die erste Zeile eines Abschnitts ein
Farben/Hintergrund
color: Bestimmt die Vordergrundfarbe
background: Fasst alle Hintergrund-Deklarationen
zusammen (shorthand)
background-color: Weist dem Hintergrund eine Farbe zu
background-image: Weist dem Hintergrund ein Bild zu
background-attachment: Legt fest ob das
Hintergrundbild mitscrollt oder nicht
background-repeat: Legt fest ob und wie das
Hintergrundbild wiederholt wird
background-position: Positioniert das Hintergrundbild
Ausrichtung/Layout/Darstellung
clear: verhindert float
display: Verändert die Darstellungsart eines Elements
(nicht anzeigen, inline oder block...)
float: Lässt Elemente aneinander vorbeifließen
height: Definiert die Höhe eines Elements
width: Definiert die Breite eines Elements
margin: Verändert den Abstand des Elements zur
Umgebung (shorthand)
margin-bottom: Verändert den Abstand des Elements
nach unten
margin-left: Verändert den Abstand des Elements nach
links
Ausrichtung/Layout/Darstellung
margin-right: Verändert den Abstand des Elements nach
rechts
margin-top: Veränderte den Abstand des Elements nach
oben
padding: Abstand des Inhalts zum Rand (shorthand)
padding-bottom: Abstand des Inhalts zum unteren Rand
padding-right: Abstand des Inhalts zum rechten Rand
padding-top: Abstand des Inhalts zum oberen Rand
padding-left: Abstand des Inhalts zum linken Rand
Links/Auflistungen
a:link: Bestimmt die Formatierung eines normalen Links
a:visited: Bestimmt die Formatierung eines besuchten
Links
a:active: Bestimmt die Formatierung eines aktiven Links
a:hover: Bestimmt die Formatierung eines gehoverten
Links (Maus ist grade drüber)
list-style-image: Weist den Listenpunkten ein Bild zu
list-style-type: Bestimmt das Aussehen der Listenpunkte
Rahmen
border: Fasst alle Rahmen-Tags zusammen (shorthand)
border-bottom: Bestimmt Aussehen, Dicke und Farbe
des unteren Rands
border-bottom-width: Bestimmt die Breite des unteren
Rands
border-color: Farbe des Rahmens
border-left: Bestimmt Aussehen, Dicke und Farbe des
linken Rands
border-left-width: Bestimmt die Breite des linken Rands
Rahmen
border-right: Bestimmt Aussehen, Dicke und Farbe des
rechten Rands
border-right-width: Bestimmt die Breite des rechten
Rands
border-style: Bestimmt die Darstellungsweise des
Rahmens
border-top: Bestimmt Aussehen, Dicke und Farbe des
oberen Rands
border-top-width: Bestimmt die Breite des oberen
Rands
border-width: Bestimmt die Rahmenbreite für alle
Rahmen