Kapitel 17: CSS

Transcription

Kapitel 17: CSS
17. CSS - Cascading Style Sheets
17-1
17. CSS - Cascading Style Sheets
17-2
Inhalt
'
$
1. Einführung CSS
&
%
2. Farben, Hintergründe, Zeichensätze
3. Gruppierungen
Kapitel 17: CSS
4. Box-Modell
5. Validierung
Die Beispiele sind dem Tutorial:
http://de.html.net/tutorials/css/ entnommen.
A. Herrmann: Datenbanken und WWW
Universität Halle, 2013
17. CSS - Cascading Style Sheets
17-3
A. Herrmann: Datenbanken und WWW
17. CSS - Cascading Style Sheets
Universität Halle, 2013
17-4
Was kann CSS? (1)
• CSS steht für Cascading Style Sheets. Es ist ist eine
Stilsprache, die das Aussehen von HTML-Dokumenten
definiert. CSS kann man z.B. zum Festlegen von
Schriftarten, Farben, Rändern, Linien, Höhen, Breiten, Hintergrundbildern, für fortgeschrittenere Positionierung und vieles anderes benutzen.
• Zum Verständnis von CSS sind Grundkenntnisse
Was kann CSS? (2)
• Mit CSS kann Inhalt und Layout einer HTML-Seite
voneinander getrennt werden.
• CSS bietet mehr Möglichkeiten und ist zudem viel
genauer und ausgereifter als die Formate von HTML.
• CSS wird von allen neueren Browsern unterstützt.
von HTML nötig.
A. Herrmann: Datenbanken und WWW
Universität Halle, 2013
A. Herrmann: Datenbanken und WWW
Universität Halle, 2013
17. CSS - Cascading Style Sheets
17-5
17. CSS - Cascading Style Sheets
17-6
Vorteile von CSS
Werkzeuge für CSS
• Zum Erstellen von Style Sheets sollte nur ein einfacher Texteditor, der keine Formatinformationen mit
• Kontrolle über das Layout vieler Webseiten aus einer einzigen Style-Sheet-Datei heraus
speichert, verwendet werden (z. B. Notepad oder
• präzisere Kontrolle über das Layout
Wordpad - Speicherung als text - in Windows).
• verschiedene Layouts für verschiedene Medientypen
• Es gibt auch spezielle CSS-Editoren (z.B. Topstyle)
• Zum Testen benutzt man einen möglichst aktuellen
Browser.
(Bildschirmanzeige, Druck etc.)
• eine Vielzahl von fortgeschrittenen und anspruchsvollen Techniken
A. Herrmann: Datenbanken und WWW
Universität Halle, 2013
17. CSS - Cascading Style Sheets
17-7
A. Herrmann: Datenbanken und WWW
Universität Halle, 2013
17. CSS - Cascading Style Sheets
17-8
Wo wird der CSS-Code angegeben? (1)
3 Möglichkeiten:
Syntax von CSS
1. In-line mit dem Attribut style:
Selector {Eigenschaft : Wert; ...}
Beispiel:
• Selector: Welchem HTML-Tag wird diese Eigenschaft zugeordnet (z. B."body")
<html>
<head>
• Eigenschaft: Die Eigenschaft kann z. B. die Hintergrundfarbe sein ("background-color")
• Wert: Der Wert der Eigenschaft background-color
<title>Example</title>
</head>
<body style="background-color: #FF0000;">
<p>Das ist eine rote Seite.</p>
kann z. B. rot sein ("#FF0000")
</body>
</html>
A. Herrmann: Datenbanken und WWW
Universität Halle, 2013
A. Herrmann: Datenbanken und WWW
Universität Halle, 2013
17. CSS - Cascading Style Sheets
17-9
Wo wird der CSS-Code angegeben? (2)
17-10
Wo wird der CSS-Code angegeben? (3)
2. In-document (im Header) mit dem Tag <style>:
3. Verweis auf ein externes Style-Sheet:
Beispiel:
Dieser Verweis muss im Header des HTML-Dokumentes
<html>
<head>
<title>Example</title>
<style type="text/css">
body {background-color: #FF0000;}
</style>
</head>
<body>
<p>Das ist eine rote Seite.
</p>
</body>
</html>
A. Herrmann: Datenbanken und WWW
17. CSS - Cascading Style Sheets
eingetragen werden
Beispiel:
<html>
<head>
<title>Example</title>
<link rel="stylesheet" type="text/css"
href="css/name.css" />
</head>
<body>
...
Universität Halle, 2013
17. CSS - Cascading Style Sheets
17-11
Wo wird der CSS-Code angegeben? (4)
3. ... noch Verweis auf ein externes Style-Sheet:
• Das Style-Sheet Format(e) befindet sich in einer
externen Datei mit Namen ”name.css”
• Diese Datei im Unterverzeichnis ”css”und hat
den folgenden Inhalt (Beispiel):
A. Herrmann: Datenbanken und WWW
Universität Halle, 2013
17. CSS - Cascading Style Sheets
17-12
Wo wird der CSS-Code angegeben? (5)
• Alle Formatierungsangaben werden durch den Namen bestimmten Gruppierungstags zugewiesen.
• Beispiel:
P {font-style: italic; font-weight: bold; font-size:
15px; font-family: arial, sans-serif; color:maroon;
text-align:center;}
• body { background-color: #FF0000; }
Diese Eigenschaften werden den Blöcken, die in
<P>...</P> eingeschlossen sind, zugewiesen.
Diese Form hat den Vorteil, dass das gleiche StyleSheet für mehrere HTML-Dateien verwendet werden
kann.
A. Herrmann: Datenbanken und WWW
Universität Halle, 2013
• mit * können Eigenschaften allen zugewiesen werden.
A. Herrmann: Datenbanken und WWW
Universität Halle, 2013
17. CSS - Cascading Style Sheets
17-13
17. CSS - Cascading Style Sheets
17-14
Farben und Hintergründe - Vordergrundfarbe
Inhalt
• Die Eigenschaft color beschreibt die Vordergrundfarbe (Textfarbe).
1. Einführung CSS
'
• Beispiel: alle Überschriften sollen rot dargestellt wer-
$
2. Farben, Hintergründe, Zeichensätze
&
den. Falls sie mit dem <h1>-Tag markiert werden,
%
kann man folgenden Code anwenden:
3. Gruppierungen
h1 { color: #ff0000; }
4. Box-Modell
• Farben können als Hexadezimalwerte, wie im obi-
5. Validierung
gen Beispiel (#ff0000), mit dem jeweiligen englischen Farbnamen (red) oder als RGB-Werte
(rgb(255,0,0)) angegeben werden.
A. Herrmann: Datenbanken und WWW
Universität Halle, 2013
17. CSS - Cascading Style Sheets
17-15
A. Herrmann: Datenbanken und WWW
Universität Halle, 2013
17. CSS - Cascading Style Sheets
17-16
Hintergrundfarbe
• Die Eigenschaft background-color beschreibt die Hintergrundfarbe. Die allgemeine Hintergrundfarbe sollte im Element <body> festgelegt werden.
• Zum Hinterlegen einer Schrift kann diese Eigenschaft aber auch anderen Elementen zugewiesen
werden.
Hintergrundbild (1)
• Die Eigenschaft background-image beschreibt das Hintergrundbild. Sie muss im Element <body> zusammen mit dem Ort des Bildes angegeben werden.
• Beispiel:
body { background-color: #FFCC66;
• Beispiel:
background-image: url("bildname.gif");}
body { background-color: #FFCC66; }
h1 { color: #990000; background-color: #FC9804; }
Liste der hexadezimalen Farbwerte:
• Das Bild wiederholt sich standardmäßig sowohl horizontal als auch vertikal.
http://gucky.uni-muenster.de/cgi-bin/rgbtab
A. Herrmann: Datenbanken und WWW
Universität Halle, 2013
A. Herrmann: Datenbanken und WWW
Universität Halle, 2013
17. CSS - Cascading Style Sheets
17-17
17. CSS - Cascading Style Sheets
17-18
Hintergrundbild (3)
Hintergrundbild (2)
• Beispiel:
• Mit der Eigenschaft background-repeat kann die Wiederholung des Bildes beeinflußt werden.
Wert
background-repeat:
background-repeat:
background-repeat:
background-repeat:
repeat-x
repeat-y
repeat
no-repeat
• Wenn die Reihenfolge eingehalten wird:
Beschreibung
Wdh.: horizontal
Wdh.: vertikal
Wdh.: horizontal und vertikal
keine Wdh.
background-color
background-image
background-repeat
• Weitere Eigenschaften des Hintergrundbildes:
Eigenschaft
background-attachment
background-position
Wert
fixed oder scroll
z.B.bottom right
body { background-color: #FFCC66; background-image: url(”bild.jpg”);
background-repeat: no-repeat; background-attachment: fixed;
background-position: top left; }
background-attachment
Wirkung
Bild scrollt bzw.bleibt fest
Bild wird rechts unten pos.
background-position
geht es noch einfacher:
background: #FFCC66 url(”bild.jpg”) no-repeat fixed top left;
A. Herrmann: Datenbanken und WWW
Universität Halle, 2013
17. CSS - Cascading Style Sheets
17-19
A. Herrmann: Datenbanken und WWW
Universität Halle, 2013
17. CSS - Cascading Style Sheets
17-20
Zeichensätze (Fonts)(2)
Zeichensätze (Fonts)(1)
• Alle Font-Eigenschaften werden in den Elementen
• CSS - Eigenschaften:
font-style: "normal" (kein Stil), "italic" (kursiv) oder "oblique" (schräg)
font-variant: "normal" oder "small-caps"(Großbuchst.
font-weight: "normal" oder "bold"
font-size: Schriftgröße (Pixel oder Prozent)
font-family: da man nicht weiss, welche Fonts
auf dem Zielcomputer implementiert sind, werden möglichst mehrere angegeben, oder eine
zur Markierung von Texten angegeben z. B.:
p, t1...t6, td, Beispiel:
p {
font-style: italic;
font-weight: bold;
font-size: 30px;
font-family: arial, sans-serif;
}
oder in Kurzform unter Beachtung der obigen
"font-family". Ein Font davon wird dann aus-
Reihefolge:
gewählt.
p { font: italic bold 30px arial, sans-serif; }
A. Herrmann: Datenbanken und WWW
Universität Halle, 2013
A. Herrmann: Datenbanken und WWW
Universität Halle, 2013
17. CSS - Cascading Style Sheets
17-21
17. CSS - Cascading Style Sheets
17-22
Absatzformatierungen
Inhalt
• Die Absatzformatierungen werden an den gleichen
Stellen angegeben wie die Fonts und zwar:
text-indent: Einrückung am Anfang eines Absatzes (in Pixel)
text-align: Ausrichtung "left", "right", "center",
1. Einführung CSS
2. Farben, Hintergründe, Zeichensätze
'
$
3. Gruppierungen
"justify" (Blocksatz)
&
text-decoration: "underline", "overline",
%
4. Box-Modell
"line-through"
letter-spacing: Buchst.abst in Pixel (z.B. 3px)
5. Validierung
text-transform: "uppercase" Großbuchst.,
"capitalize" Anfbuchst. groß
A. Herrmann: Datenbanken und WWW
Universität Halle, 2013
17. CSS - Cascading Style Sheets
17-23
Universität Halle, 2013
17. CSS - Cascading Style Sheets
17-24
Links - Beispiele
Pseudoklassen
• Mit Pseudoklassen werden unterschiedliche Zustände
(Ereignisse) bei Links beschrieben. Man verwendet
das <a>-Tag.
• a:link { color: blue; }
a:visited { color: red; }
a:active { background-color: #FFFF00; }
a:hover { color: orange; font-style: italic; }
• Zustände:
• Effekt von hover - Die Schrift wird orange und kur-
a: link: nicht besuchter Link
siv beim Überfahren mit der Maus.
a: visited: besuchter Link
• Andere Effekte kann man erhalten, wenn man z.B.
a: active: aktiver Link
a: hover: vom Mauszeiger berührter Link
• Diesen Pseudoklassen können nun unterschiedliche
Eigenschaften, z.B. Farben zugewiesen werden.
A. Herrmann: Datenbanken und WWW
A. Herrmann: Datenbanken und WWW
Universität Halle, 2013
in a:hover letter-spacing:10px oder
text-transform:uppercase benutzt.
• mit text-decoration:none wird die Unterstreichung
von Links unterdrückt.
A. Herrmann: Datenbanken und WWW
Universität Halle, 2013
17. CSS - Cascading Style Sheets
17-25
17. CSS - Cascading Style Sheets
Beispiel für class
class
• Mit class wird es möglich, ausgewählten Elementen
spezielle Eigenschaften zuzuweisen. Damit müssen
nun nicht alle Links gleich aussehen.
• Im folgenden Beispiel sehen die Links für Weißwein
gelb, die für Rotwein rot und die restlichen blau
aus.
• Wie man im folgenden Beispiel sieht, kann man Eigenschaften von Elementen einer bestimmten Klasse mit Hilfe von .classname im Stylesheet des Webdokumentes festlegen.
A. Herrmann: Datenbanken und WWW
Universität Halle, 2013
17. CSS - Cascading Style Sheets
17-27
<p> Trauben für Weißwein</p>
<ul>
<li><a href="ri.htm" class="ww">Riesling</a></li>
<li><a href="ch.htm" class="ww">Chardonnay</a></li>
</ul>
<p> Trauben für Rotwein</p>
<ul>
<li><a href="me.htm" class="rw">Merlot</a></li>
<li><a href="pn.htm" class="rw">Pinot Noir</a></li>
</ul>
a { color: blue; }
a.ww { color: #FFBB00; }
a.rw { color: #800000; }
A. Herrmann: Datenbanken und WWW
17. CSS - Cascading Style Sheets
id
Universität Halle, 2013
17-28
Beispiel für id
• Mit id kann einzelnen Elementen ein spezielles Format gegeben werden.
• <h1 id="k1">Kapitel 1</h1>
...
• Das besondere an dem Attribut id ist, dass es kein
<h2 id="k1-1">Kapitel 1.1</h2>
weiteres Element im selben Dokument geben kann,
...
welches dieselbe id trägt. Jede id muss einzigartig
<h1 id="k2">Kapitel 2</h1>
sein.
...
• Im folgenden Beispiel werden den Kapitel-Überschriften eines Dokumentes unterschiedliche id’s gege-
<h2 id="k2-1">Kapitel 2.1</h2>
...
• CSS dazu:
ben.
• Die Überschrift des Kapitels 1.1 soll rot sein.
A. Herrmann: Datenbanken und WWW
17-26
Universität Halle, 2013
#k1-1 { color: red; }
A. Herrmann: Datenbanken und WWW
Universität Halle, 2013
17. CSS - Cascading Style Sheets
17-29
Gruppierung mit span und div
17. CSS - Cascading Style Sheets
17-30
Beispiel für span
• span und div dienen zur Gruppiereung und damit
zur Strukturierung eines Dokumentes und sind von
zentraler Bedeutung für die Anwendung von css.
• span allein ist neutral und bewirkt nichts, doch mit
CSS zusammen können visuelle Besonderheiten erzeugt werden. Es wird innerhalb eines Blockes verwendet.
• In Goethes Ausspruch sollen die Tugenden rot geschrieben werden:
<p><span class="tugend">Edel</span> sei der Mensch,
<span class="tugend">hilfreich</span> und
<span class="tugend">gut</span>.</p>
• Das zugehörige CSS:
span.tugend { color:red; }
• div dagegen gruppiert Blöcke.
• Beim div-Beispiel werden die Ergebnisse rot bzw.
• Das Ergebnis:
Edel sei der Mensch, hilfreich und gut.
schwarz hinterlegt. Die Schriftfarbe ist weiß.
A. Herrmann: Datenbanken und WWW
Universität Halle, 2013
17. CSS - Cascading Style Sheets
17-31
Beispiel für div
17. CSS - Cascading Style Sheets
Universität Halle, 2013
17-32
Verschachtelungen
Deutsche Bundeskanzler:
<div id="spd"><ul>
<li>Gerhard Schröder</li>
<li>Helmut Schmidt</li>
</ul></div>
<div id="cducsu"><ul>
<li>Angela Merkel</li>
<li>Helmut Kohl</li>
</ul> </div>
CSS:
#spd{ background red; color white;}
#cducsu{ background black; color white;}
A. Herrmann: Datenbanken und WWW
A. Herrmann: Datenbanken und WWW
Universität Halle, 2013
1. Nachfahren-Selektor: 2 Selektoren Trennung - blank
Beispiel: div i {color:red} in div geschachtelte iElemente werden immer rot angezeigt.
2. Kind-Selektor: 2 Selektoren Trennung >
Beispiel: div > p {color:blue} in div geschachtelte p-Elemente werden blau angezeigt, wenn die pElemente genau eine Ebene unter div stehen.
3. Nachbar-Selektor: 2 Selektoren Trennung +
Beispiel: div + p {margin-top:100px;} Wenn div und
p unmittelbar aufeinander folgen, dann 100px Abstand.
A. Herrmann: Datenbanken und WWW
Universität Halle, 2013
17. CSS - Cascading Style Sheets
17-33
17. CSS - Cascading Style Sheets
Inhalt
Box-Modell (1)
1. Einführung CSS
• Das Box-Modell in CSS beschreibt die Boxen (oder
Kästen), die für HTML-Elemente generiert werden.
2. Farben, Hintergründe, Zeichensätze
• Einstellungen:
3. Gruppierungen
'
Außenabstand - margin
$
4. Box-Modell
&
17-34
Rand - border
%
5. Validierung
Innenabstand - padding
im Inhalt - height und with
A. Herrmann: Datenbanken und WWW
17. CSS - Cascading Style Sheets
Universität Halle, 2013
17-35
A. Herrmann: Datenbanken und WWW
Universität Halle, 2013
17. CSS - Cascading Style Sheets
17-36
Randabstände (1)
Box-Modell (2)
• Die Randeinstellungen gelten
für die gesamte Seite:
Beispiel:
body { margin-top: 100px; margin-right: 40px;
margin-bottom: 10px; margin-left: 70px; }
oder
für einen Block:
p { margin: 5px 50px 5px 50px;}
ausschlaggebend ist das Gruppierungselement
• analog kann padding für die Innenabstände verwendet werden.
A. Herrmann: Datenbanken und WWW
Universität Halle, 2013
A. Herrmann: Datenbanken und WWW
Universität Halle, 2013
17. CSS - Cascading Style Sheets
17-37
17. CSS - Cascading Style Sheets
17-38
Umrandung
Randabstände(2)
• Die Elemente zum Einstellen der Boxen werden
in den Gruppierungselementen z. B. div, span, p,
h1...h6, ul, ol angegeben.
• Beispiel: <div class="beisp">Dies ist ein Block, der
gelb unterlegt ist und vorgegebene Randabstände
hat. </div>
• Die Boxen können umrandet werden. Die Umrandung kann
farbig border-color
in unterschiedlicher Dicke border-with z.B.thin,
medium, thick oder Pixel
in unterschiedlicher Strichart border-style z.B.
solid, dotted, double, ...
CSS:
div.beisp { background: yellow; padding: 20px 20px
20px 80px; }
A. Herrmann: Datenbanken und WWW
• Dabei kan jeder Rand einzeln formatiert werden
z.B.border-top-with
Universität Halle, 2013
17. CSS - Cascading Style Sheets
17-39
Umfließender Text
A. Herrmann: Datenbanken und WWW
Universität Halle, 2013
17. CSS - Cascading Style Sheets
17-40
absolute Positionierung
• Mit der Eigenschaft float kann ein Element (z.B.
ein Bild) von einem anderen (z.B. Text) umflossen
werden.
• Beispiel:
<div id="pic"> <img src="bild.jpg" alt="Bild"> </div>
Dieser Text fließt um das Bild herum</p>
CSS:
#pic { float:left; width: 100px;}
• Dieser Text steht unter dem Bild
<p id="unten">Unterer Text</p>
CSS:
#unten {clear:left}
A. Herrmann: Datenbanken und WWW
ausgeführt werden.
• Es können auch Boxen fest positioniert werden.
Das Browserfenster wird dabei als koordinatensystem verwendet. Die Positionierung wird in Pixel
angegeben.
• Beispiel:
<div id="box1"> Box 1 </div>
CSS: #box1{position:absolute;top:50px;left:50px;}
• Wichtig ist die Angabe position: absolute;
• Die Abstände werden von oben top und rechts oder
links right/left bzw. von unten bottom und rechts
oder links in Pixeln angegeben.
Universität Halle, 2013
A. Herrmann: Datenbanken und WWW
Universität Halle, 2013
17. CSS - Cascading Style Sheets
17-41
17. CSS - Cascading Style Sheets
17-42
Validierung
Inhalt
• Zweck: Erfolgreich validierte Seiten genügen dem
1. Einführung CSS
W3C-Standard.
2. Farben, Hintergründe, Zeichensätze
unterschiedlichen Browsern gleich dargestellt.
3. Gruppierungen
• HTML- und CSS-Validator:
4. Box-Modell
'
$
5. Validierung
&
• Sie werden deshalb mit hoher Wahrscheinlichkeit in
http://validator.w3.org/
http://www.validome.org/
%
• CSS-Validator:
http://jigsaw.w3.org/css-validator/
A. Herrmann: Datenbanken und WWW
Universität Halle, 2013
A. Herrmann: Datenbanken und WWW
Universität Halle, 2013