Fachbereich Automatisierung und Informatik Kapitel CSS

Transcription

Fachbereich Automatisierung und Informatik Kapitel CSS
Wernigerode
Fachbereich Automatisierung und Informatik
Vorlesung „Grundlagen der Informatik II“
Vorlesung „Informatikgrundlagen II“
Kapitel CSS
Version 05.05.2008
Dipl.-Inf., Dipl.-Ing. (FH) Michael Wilhelm
Friedrichstraße 57 - 59
38855 Wernigerode
Raum:
Tel.:
Fax:
Email:
2.202
03943/659-338
03943/659-399
[email protected]
Inhaltverzeichnis
Cascading Style Sheet ...................................................................................................................... 4
1.1 Laden der CSS-Datei................................................................................................................. 4
1.1.1
Extern................................................................................................................................. 4
1.1.2
Intern.................................................................................................................................. 4
1.2 Doctype ..................................................................................................................................... 4
1.3 Literatur..................................................................................................................................... 5
1.4 Validierung................................................................................................................................ 5
2 Positionierung................................................................................................................................... 6
2.1 Absatz........................................................................................................................................ 6
2.1.1
Beispiel: ............................................................................................................................. 6
2.1.2
CSS-Definition:.................................................................................................................. 6
2.2 Positionierung ........................................................................................................................... 7
2.2.1
Beispiele: ........................................................................................................................... 7
2.3 Class und Id............................................................................................................................... 9
2.4 Vererbung / Nachbarschaft / Spezifikation ............................................................................. 10
2.4.1
Geschachtelte Elemente ................................................................................................... 10
2.4.2
Übergeordnetete Elemente............................................................................................... 10
2.4.3
Benachbarte Elemente ..................................................................................................... 11
2.4.4
Multi-Selector .................................................................................................................. 11
2.4.5
Hierarchische Elemente ................................................................................................... 11
2.4.6
Pseudo-Element-Selektoren............................................................................................. 12
2.5 display ..................................................................................................................................... 12
3 Grundelemente ............................................................................................................................... 14
3.1 Kommentare............................................................................................................................ 14
3.2 Maßeinheiten........................................................................................................................... 14
3.3 Farbeinheiten........................................................................................................................... 14
3.4 Font ......................................................................................................................................... 15
3.4.1
font-family ....................................................................................................................... 15
3.4.2
font-style .......................................................................................................................... 16
3.4.3
font-size ........................................................................................................................... 16
3.4.4
font-variant....................................................................................................................... 16
3.4.5
font-weight....................................................................................................................... 17
4 Text................................................................................................................................................. 18
4.1.1
word-spacing.................................................................................................................... 18
4.1.2
letter-spacing.................................................................................................................... 18
4.1.3
text-decoration ................................................................................................................. 18
4.1.4
vertical-align .................................................................................................................... 18
4.1.5
text-transform................................................................................................................... 19
4.1.6
text-align .......................................................................................................................... 19
4.1.7
text-indent ........................................................................................................................ 19
4.1.8
line-height ........................................................................................................................ 19
4.1.9
white-space ...................................................................................................................... 20
4.2 Color und Background-Eigenschaften .................................................................................... 20
4.3 Background ............................................................................................................................. 21
4.4 Box .......................................................................................................................................... 22
4.5 Vordefinierte Selectoren ......................................................................................................... 24
4.6 Listen....................................................................................................................................... 24
4.6.1
list-style-type.................................................................................................................... 24
4.6.2
list-style-image................................................................................................................. 25
4.6.3
list-style-position.............................................................................................................. 25
4.6.4
list-style............................................................................................................................ 26
4.7 Absatz / Paragraph .................................................................................................................. 26
1
4.8 Bilder und Text ....................................................................................................................... 26
Border (Ränder).............................................................................................................................. 28
5.1 MARGIN................................................................................................................................. 30
5.2 PADDING............................................................................................................................... 30
5.3 Mauszeiger .............................................................................................................................. 31
6 Navigationsmenü mit Listen........................................................................................................... 33
7 Beispiele ......................................................................................................................................... 36
7.1 Definition in der CSS-Datei .................................................................................................... 36
7.2 Definition im HTML-Code: .................................................................................................... 38
5
1 Cascading Style Sheet
Eigenschaften:
Cascading Style Sheet bieten den Vorteil, dass der Inhalt und die Darstellung weitgehend entkoppelt
werden.
Eine weitere Eigenschaft ist die Vererbung von Style-Elementen. Eine Header-Überschrift "erbt" die
"Body-Farbe", wenn man nicht in die Farbe umdefiniert.
Die externe Style-Sheet-Datei kann zentral auf dem Server gespeichert werden. Dann sind alle HTMLDateien nach dieser CSS-Datei definiert. Zusätzlich können aber innerhalb einer Datei interne
Definition definiert werden. Diese können die zentralen Elemente "überschreiben". Als letztes kann
ein beliebiges Element innerhalb des Tags CSS-Code definieren.
1.1
Laden der CSS-Datei
1.1.1 Extern
Erste Version:
<link rel="stylesheet" type="text/css" href="../../test1.css">
Zweite Version:
<link rel="stylesheet" type="text/css"
@import url(../../test1.css)
</style>
1.1.2 Intern
<style type="text/css">
body {
color:black;
}
</style>
1.2
Doctype
Mit Hilfe dieser Eigenschaft kann man definieren, wie die Syntax einer HTML-Seite bearbeitet
werden soll:
Es gibt zwei Hauptmodi:
• Strict
Alles muss den Definitionen entsprechen
• Quirks
Der Browser toleriert
Falls die Seiten nicht CSS-unterstützen und veraltete Tags verwenden:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
Für neuere Seiten mit CSS:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"
"http://www.w3.org/TR/html4/strict.dtd">
Für neuere Seiten mit XHTML 1.0:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD XHTML Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
1.3
Literatur
http://webcom.net/~gmc/html/quick_ref.html
http://www.zdim.com/content/anchors/199704/28/1.html
http://www.htmlhelp.com/reference/css/structure.html
Dan Shafer, Kevin Yank: Cascading Stylesheets, dpunkt-Verlag, ISBN: 3-89864-248-8
1.4
Validierung
Ihre Seiten sollten mit möglichst allen verfügbaren Browsern getestet werden. Die Netcape-Browser
4.x sind aber relativ fehlerbehaftet. Möchte man diese auch unterstützen, so kommt man nicht umhin,
verschiedene Varianten anzubieten. Mit einem Java-Script kann man
Eine weitere Steigerung der Qualität von Web-Seiten ist die Validierung durch das WWW-Consortium. Dies ist recht einfach durchzuführen und dazu noch kostenlos.
Adresse:
http://jigsaw.w3.org/css-validator/
Es gibt drei Varianten:
• Man kann die komplette Valdierung-Software herunterladen
• Man kann in einem Formular die URL angeben
• Man kann die Seite(n) an das WWW-Consortium senden.
2 Positionierung
2.1
Absatz
Mit dem Tag <DIV> wird ein Abschnitt definiert, der mit einem oder mehreren Selectoren belegt
werden kann. Es wird immer ein neuer Absatz, keine neue Leerzeile, eingefügt.
Mit dem Tag <SPAN> kann man auch CSS-Selectoren belegen. Hier wird aber kein neuer Absatz
eingefügt. Das Span-Tag dient dazu, in einem Fließtext, CSS-Tag zu definieren.
2.1.1 Beispiel:
<DIV class="absatz1>
Text </DIV>
Dieser Text beinhaltet ein <SPAN class="absatz2> abc def ghijk </SPAN> wird ein Abschnitt
definiert, der mit einem oder mehreren Selectoren belegt werden kann. Es wird immer ein neuer
Absatz, keine neue Leerzeile, eingefügt.
Dieser Text beinhaltet ein Tag <EM class=absatz3>Automatisierung und Informatik</EM>
2.1.2 CSS-Definition:
.absatz1{
vertical-align: super;
color:blue;
font-size:14pt;
border-color: red;
border-style: groove;
}
SPAN.absatz2{
vertical-align: sub;
color:red;
font-size:14pt;
border-color: blue;
border-style: groove;
}
EM.absatz3{
vertical-align: bottom;
color:red;
font-size:14pt;
border-color: blue;
border-style: groove;
}
2.2
Positionierung
Mit dem Style-Attribut "position" kann ein AbschnittDIV> wird ein Abschnitt definiert, der mit einem
oder mehreren Selectoren belegt werden kann. Es wird immer ein neuer Absatz, keine neue Leerzeile,
eingefügt.
Wert
absolute
relative
fixed
static
Beschreibung
Absolute Positionierung durch die Angaben left, top, right, bottom. Absolut
positionierte Elemente sind außerhalb des normalen Textfluss, sie liegen über den
anderen Elementen und beeinflussen somit nicht ihr Layout. Die absolute Position
wird relativ zu den Rändern des Eltern-Elements berechnet, wenn dieses ebenfalls
positioniert ist, oder wenn es der Seiteninhalt (<body>) ist. Da sich der Seiteninhalt scrollen lässt, werden absolut positionierte Elemente mitgescrollt.
Relative Positionierung vom normalem Fluss. Die normale Position ist wie bei
static im normalen Textfluss. Die Positionierungsangaben left, top, right, bottom
verschieben das Element aus dieser Position. Die nachfolgenden Elemente
verhalten sich so, als wäre das Element nicht verschoben
Wie absolute, jedoch bleibt das Element beim Scrollen stehen und die
Positionierung orientiert sich am Viewport (dem sichtbaren Browserfenster) und
nicht am übergeordneten Element. Der Abschnitt scheint über den anderen
Elementen zu schweben.
Positionierung im Textfluss. Die Angaben left, top, right, bottom sind unwirksam.
2.2.1 Beispiele:
1. Beispiel:
#block {
color: green;
background-color: #c0c0c0;
}
#block1 {
float: left;
background-color:blue;
}
#block2 {
position: fixed;
top: 200px;
left: 500px;
background-color:yellow;
}
HTML-Code:
<div id="block">
<div id="block1">
abcdef
</div>
Das Labor Datenbanken befindet sich im 2. Obergeschoss; des Gebäude 5,
</div>
Der untere Text wird durch die Eigenschaft "float" rechts neben des ersten Textes dargestellt. Sonst
wäre es ein einfacher Absatz.
2. Beispiel:
Diese Beispiel positioniert zwei Blöcke nebeneinander.
#block {
color: white;
background-color: blue;
}
#block1 {
position: relative;
top: 0;
left: 0;
width: 250px;
float: left;
}
#block2 {
margin-left: 250px;
border-style: dashed;
border-color: red;
border-width:6px;
}
HTML-Code:
<div id="block">
<div id="block1">
abcdef
</div>
<div id="block2">
ghijklmnop</ul>
</div> <!-- block2 -->
</div> <!-- block -->
3. Beispiel:
Das dritte Bespiel zeigt die Position zweier Bloecke. Der erste Block, grau, wird immer links, der
zweite, blau, wird immer rechts dargestellt.
#blockleft {
background-color: #c0c0c0;
color: #FF0000;
float: left;
width: 30%;
}
#blockright {
background-color: rgb(0,80,149);
color: #ffffff;
float: right;
width: 150px;
}
HTML-Code:
<div id="blockleft">
<p>Sehen Sie, wie ein ein langer Text Absätze überdeckt, die ihm im Quellcode nachfolgen ?
Den Blockelementen f&auml;llt &uuml;berhaupt nicht auf, da&szlig; die Floats existieren.
Nur die Textzeilen weichen den Floats aus.</p>
</div><!-- erster Float -->
<div id="blockright">
<p>
Diese Box floated nach rechts und ist im ersten Blockelement eingebettet.
Und obwohl sie dort eingebettet ist, &uuml;berlappt sie alle folgenden Boxen,
ganz wie der linke Float, der au&szlig;erhalb jeglichen Blockelements sitzt.
</p>
</div> <!-- blockright -->
<p>Dieser Text "floatet" zwischen den beiden Blockelemente (in diesem Fall Absätze).</p>
2.3
Class und Id
Selektortyp
Auswirkung
Universeller Selektor Stilregel ist gültig für alle Elemente in
einer HTML-Datei
Elementtyp
Die Stilregel ist für alle im Selektor
genannten HTML-Elemente gültig
Klassen-Selektor
ID-Selektor
Beispiel
*
H1
P
TD
Die Stilregel ist für HTML-Elemente EM.absatz1
gültig, deren class-Attribut der Klassen- .beispiel1
angabe entspricht. Kann mehrfach ver- H1.special
// Diese Klasse
wendet werden
dient nur für H1
Die Stilregel ist NUR für HTML-Ele- #special3
mente gültig, deren id-Attribut der ID-- p#specials52
Angabe entspricht. Kann nur einmal ver- <h1 id="k1">Kapitel 1</h1>
<h2 id="k1-1">Kapitel 1.1</h2>
wendet werden
<h2 id="k1-2">Kapitel 1.2</h2>
<h1 id="k2">Kapitel 2</h1>
Pseudoklassen
Die Stilregeln ist nur für Pseudoklassen a:hover;
gültig, wenn sie ihren Zusatnd durch a:active:
Interaktion mit dem Benutzer verändern a:focus;
a:link;
a:visited;
Quelle: CSS von Rachel Andrew, Dan Shafer
2.4
Vererbung / Nachbarschaft / Spezifikation
Folgende Regeln können für geschachtelte Elemente benutzt werden:
2.4.1 Geschachtelte Elemente
Liegen zwei Elemente in Beziehung, kann man mit den Definitionen spezielle Darstellungen
vornehmen.
Beispiel in der CSS-Datei:
body {
color:black;
}
body > p {
Folgende Regeln können für nebeneinander liegende Elemente benutzt werden:
2.4.2 Übergeordnetete Elemente
Liegen zwei Elemente in Beziehung, kann man mit den Definitionen spezielle Darstellungen
vornehmen.
Beispiel in der CSS-Datei:
body {
color:black;
}
body > p {
color:red;
font-site:22pt;
}
body > li {
color:red;
}
Der linke Teil ist die Beziehung zum Parent, es können aber HTML-Tag zwischen beiden Elementen
liegen.
<body>
<h1>1. Überschrift</h1>
<p>Dieser Teil hat als Parent den Body</p>
<Div>
<p>Dieser Teil hat als Parent DIV, nicht den Body</p>
</DIV>
</body>
// Farbe rot
// Farbe schwarz
Beispiel HTML-Seite
2.4.3 Benachbarte Elemente
Liegen zwei Elemente nebeneinander, so kann man mit den Definitionen spezielle Darstellungen
vornehmen.
Beispiel in der CSS-Datei:
body {
color:black;
}
h1 + h2 {
margin-top:5px;
}
Damit erhält die H2-Überschrift einen zusätzlichen oberen Rand.
2.4.4 Multi-Selector
Möchte man mehrere Elemente auf einmal definieren, so kann man folgende Syntax verwenden.
Beispiel in der CSS-Datei:
h1, h2, h3 {
color:red;
}
2.4.5 Hierarchische Elemente
Bei Listen hat man manchmal das Problem, dass die geschachtelte Listen unterschiedlich sein sollen.
Mit folgender Syntax erreicht man das gewünschte
Beispiel in der CSS-Datei:
ol {
list-style-type:lower-alpha;
}
ol ol{
list-style-type: decimal;
}
ol ol ol {
list-style-type: lower-latin;
}
2.4.6 Pseudo-Element-Selektoren
Erelaubt die Definition für einen Teil eines Elementes:
• first-line
• first-letter
Beispiel in der CSS-Datei:
body:first-letter {
font-size: 200%;
color: blue;
float: left;
}
body:first-line {
letter-spacing: 2px;
}
2.5
display
display:
Gibt an, ob und wie ein Element angezeigt werden soll
• Inline
// Ein neuer Kasten wird auf derselben Linie wie benachbarte Elemente angelegt
(Bild oder Text)
• Block // Ein neuer Kasten wird relativ zu den umliegenden Elementen angelegt (H1
oder P).
• List-item // Ähnlich Block, aber hier werden Listenelemente eingefügt, die sich mehr wie
InlineInhalt verhalten
• None
none
block
Inline
inline-block
list-item
run-in
inline-table
table
Keine Anzeige.
Das Element wird als Block-Element dargestellt.
Das Element wird als Inline-Element dargestellt.
Das Element ist eine Mischung aus einem Block- und einem Inline-Element. Es
wird als Block-Element formatiert, du kannst Breite, Höhe und Außenabstand
angeben, floatet aber wie Inline-Elemente in der Zeile.
Sichtbar. Das Element erzeugt einen Absatz und hat ein Aufzählungszeichen.
Erzeugen Block, bzw Inline-Elemente abhängig vom Inhalt
Darstellung als Tabelle (In HTML <table>), die keine Absatz erzeugt.
Darstellung als Listensymbol. Sollte nur zusammen mit den Pseudoformaten
:before und :after verwendet werden.
Darstellung als Tabelle (In HTML <table>).
table-caption
table-cell
table-column
table-columns-group
table-footer-group
table-header-group
table-row
table-row-group
Darstellung als Tabellenüberschrift (In HTML <caption>)
Darstellung als Tabellenzelle (In HTML <td>, <th>)
Darstellung als Tabellenspalte (In HTML <col>)
Darstellung als Tabellespalten (In HTML <colgroup>)
Darstellung als Tabellefusszeile (In HTML <tfoot>)
Darstellung als Tabellenkopfzeile (In HTML <thead>)
Darstellung als Tabellenzeile (In HTML <tr>)
Darstellung als Tabellenzeilen (In HTML <tbody>)
Normalerweise sind die Darstellungen fest definiert:
Block:
p, h1 bis h2, div
// als Absatz
Inline:
strong, code, span
// ohne Umbruch
List-Item Listen
// Listen werden als
Beispiele:
1) H1 ohne Absatz
<p>
<h1 style="display:inline">
Dies ist eine Überschrift, die keinen Absatz erzeugt</h1>
Normaler Text
</p>
// Alle beiden Texte stehen in einer Zeile
2) Waagerechte Liste
Mit folgenden Definitionen und HTML-Code wird die Liste waagerecht gezeichnet. Testliste ul ist
zusätzlich vorhanden.
#testliste ul {
margin:0;
padding:0;
}
#testliste li {
display: inline;
}
Alternativ wäre folgender Code möglich:
<p>
<UL >
<LI style="display:inline" > Automatisierung und Informatik</LI>
<LI style="display:inline"> Verwaltungswissenschaften</LI>
<LI style="display:inline"> Wirtschaft</LI>
</UL>
</p>
3 Grundelemente
3.1
Kommentare
Anfang eines Kommentars: /*
Ende eines Kommentars:
*/
3.2
in
cm
mm
em
ex
pt
pc
px
Maßeinheiten
inch
centimeter
millimeter
Höhe des aktuellen Fonts
Höhe des Buchstaben „x“ des aktuellen Fonts
point, 1/72 in, entspricht 0,35278 mm
pica, entspricht 12 points: 4,23 mm
Pixel
Verwenden Sie für Fonts keine absolut Schriftgrößen, sondern eher relative, wie 1,5em. Damit kann
der Anwender seine lokalen Einstellungen besser nutzen.
.bold {
font-weight:bold;
font-size:1.5em;
}
.italic {
font-style:italic;
font-size:1.5em;
}
Problem:
Bei Verschachtelung beider Stile,wird der Text 1,5*1,5 mal größer gezeichnet. Dann besser einen
dritten Stil verwenden.
.bolditalic {
font-weight:bold;
font-style:italic;
font-size:1.5em;
}
3.3
Farbeinheiten
#rrggbb
Hexadezimale Darstellung
rgb(x,y,z)
Farbanteil pro Farbe, jeweils 0 bis 255
rgb(x%,y%,z%)Farbanteil in Prozent pro Farbe, jeweils 0 bis 100%
Farbnamen:
aqua black blue fuchsia gray green lime maroon
navy olive purpleredsilver teal white yellow
Beispiel:
color: rgb(100,100,100);
Hinweis:
Man sollte immer bei der Benutzung von Text- oder Hintergrundfarben beide Farbewerte angeben.
Problem: Vererbung
3.4
Font
3.4.1 font-family
Die Fonts werden nach ihrer Reihenfolge ausgewählt.
a) feste Namen wie
Garamond, Palatino, Serif, Times, Courier New, "Gill Sans"
Tahoma, Geneva, Arial, Helvetica,
b) generische Namen
serif
sans-serif
cursive
fancy
monospace
fantasy
Beispiele:
Tipp:
Immer nur eine Grundfamilie verwenden.
body {
font-family: "Courier-New",Courier, monospace;
}
body {
font-family: "Times New Roman",Times, serif;
}
body {
font-family: Helvetica, Arial, sans-serif;
}
3.4.2 font-style
Gibt die Stil an (normal oder kursiv)
• normal
• italic
• oblique // ähnlich italic
3.4.3 font-size
Gibt die Größe der Schrift an. Vier Möglichkeiten
a) Absolute Größe
• xx-small
• x-small
• small
• medium
• large
• x-large
• xx-large
• 18pt
• 18in
• 18cm
• 18 mm
• 18pc
• 18px
b) Relative Größe
• smaller
• larger
c) Absolute Breite entsprechend eines Em
• 1,5 em
d) Prozentwert, Verhältnis zur Elternschrift
• 300%
3.4.4 font-variant
Setzt den Text in KAPITÄLCHEN.
• normal
• small-caps
3.4.5 font-weight
Dicke der Buchstaben (normal, fett etc).
a) Nummern
• 100
// Dünn, lighter
• 200 bis
• 900
// Fett, bold
b) Name
• lighter
• normal
• bold
• bolder
// Verringerung zur Elternschrift
// Vergrößerung zur Elternschrift
Beispiele:
TD {
font-family : Tahoma, Geneva, Arial, Helvetica, sans-serif;
font-size: 19pt;
color: #000000;
font-weight : normal;
}
.cell {
font-family : Tahoma, Geneva, Arial, Helvetica, sans-serif;
font-size: 19pt;
color: #000000;
font-weight : 900;
}
4 Text
4.1.1 word-spacing
Setzt den zusätzlichen Platz zwischen den Wörtern
• 1em
• 0.5em
• 2pt
4.1.2 letter-spacing
Setzt den zusätzlichen Platz zwischen den Buchstaben
• 0.2em
• 0.5mm
Beispiel:
Letter-spacing: 1.2 mm;
4.1.3 text-decoration
Zusätzliche Textattribute:
• none
• underline
• overline
• line-through
• blink
Beispiel:
text-decoration: underline;
4.1.4 vertical-align
Setzt die Textposition zum Elternelement, nur innerhalb eines Textes, nicht zum DIV-Element gültig
• Baseline
// Grundlinie
• Sub
// Tiefer
• Super
// Höher
• Text-top
// Ausrichtung an den oberen Rändern
• Text-bottom // Ausrichtung an den unteren Rändern
• Middle
// Vertikale Zentrierung bzw. Elternelement
• Top
// Ausrichtung am größten Element
• Bottom
// Ausrichtung an tiefsten Element (g)
• 30%
// positiver oder negativer Wert)
vertical-align: middle;
vertical-align: 30%;
4.1.5 text-transform
Text-Umwandlung
• capitalize
• uppercase
• lowercase
• none
Der erste Buchstabe wird immer groß geschrieben
Beispiel:
text-transform: capitalize;
4.1.6 text-align
Horizontale Ausrichtung
• left
• right
• center
• justify
(Alle Zeilen haben die gleiche Länge)
4.1.7 text-indent
Platz vor dem ersten Wort , Einrücken der Zeile um x Einheiten
• 5em
• 2mm
4.1.8 line-height
Linienhöhe unabhängig zur Schrifthöhe
• 1.5
Beispiel:
line-height: 1.5; font-size: 12pt
Fontgröße 12pt, Linienhöhe 18pt (Faktor 1,5)
Beispiele:
CODE { color: red ; font-weight: bold ; text-decoration: underline}
H1 { font-size: 28pt ; color: maroon ; text-align: center}
P.newstyle { letter-spacing: 0.5em ; text-transform: uppercase }
4.1.9 white-space
Legt fest, wie Textumbrüche, Leerzeichen und Tabulatoren im Quellcode vom Browser angezeigt
werden.
white-space: Behandelt Leerzeichen und Zeilenumbrüche
• Normal
// Zusätzliche Leerzeichen werden ignoriert
• Pre
// Vorformatierten HTML-Text
• nowrap
// Nur Zeilen mit <BR> werden umgebrochen
Normal
Pre
Nowrap
pre-wrap
pre-line
4.2
Zeilenumbrüche im Quellcode werden nicht dargestellt und mehrere Leerzeichen
im Quellcode zu einem zusammengefügt. Der Browser fügt einen Zeilenumbruch
am Zeilenende ein.
Zeilenumbrüche und Leerzeichen werden, wie im <pre>-Tag, so dargestellt, wie
sie im Quellcode eingegeben sind.
Zeilenumbrüche im Quellcode werden nicht dargestellt, mehrere Leerzeichen im
Quellcode zu einem zusammengefügt und der Browser fügt am Zeilenende keinen
Zeilenumbruch ein. Dieser kann nur mit dem <br />-Tag erzeugt werden.
Wie im <pre>-Tag stellt der Browser Zeilenumbrüche und Leerzeichen dar wie
sie im Quellcode eingegeben sind, jedoch erfolgt am Zeilenende ebenfalls ein
automatischer Zeilenumbruch.
Mehrere Leerzeichen im Quellcode werden zu einem zusammengefügt und
Zeilenumbrüche fügt der Browser am Ende der Zeile, durch das <br />-Tag und
dort, wo sie im Quellcode eingegeben sind, ein.
Color und Background-Eigenschaften
Color
Textfarbe
background-color
background-image
background-repeat
no-repeat
Keine Wiederholung. Das Bild wird einmal dargestellt.
repeat
Horizontal und vertikal wiederholen.
repeat-x
Nur horizontal wiederholen.
repeat-y
Nur vertikal wiederholen.
background-attachment
Bestimmt, ob ein Hintergrundbild beim Scrollen mit wandert oder seinen festen Ort auf der Seite
behält. Wird deshalb in Zusammenhang mit background-image verwendet.
scroll
Das Hintergrundbild wandert beim Scrollen mit.
fixed
Das Hintergrundbild behält seinen festen Standort.
background-position left | right | top | bottom | center
Beispiele:
BG { background-position: left 20px ; background-attachment: scroll}
4.3
Background
color:
Farbe des Textes
background-color:
Hintergrundfarbe
background-image:
Hintergrundbild (URL)
background-repeat:
Wiederholung des Hintergrundbild
• repeat-x
• repeat-y
• repeat
// Wuederholt in x- und y-Richtung
background-attachment: Bild ist im Hintergrund (fixed) oder im Vordergrund (à la Winword)
• scroll
• fixed
background-position:
Position des Hintergrundbildes
a) durch einen Namen
• left
• center
• right
• top
• bottom
b) durch Prozentangaben
• w% x% y% z%
c) Angaben in in, em etc.
• 0.3em
• 2pt
Beispiele:
background-position{
right top;
}
background-position{
10% 10% 90% 90%;
}
background-position{
1em 1em 1em 1em;
}
// links / oben / unten / rechts
4.4
Box
Definiert einen Rahmen mit Außen- und Innenabständen. Die Bezeichnung Box erscheint nicht in der
Definition.
margin-top
margin-right
margin-bottom
margin-left
margin
Außenrand, Abstand Rahmen zur Außengrenze
Außenrand, Abstand Rahmen zur Außengrenze
Außenrand, Abstand Rahmen zur Außengrenze
Außenrand, Abstand Rahmen zur Außengrenze
Setzt alle vier Werte, (top, right, bottom, left)
padding-top
padding-right
padding-bottom
padding-left
padding
Innenrand, Abstand zum Rahmen
Innenrand, Abstand zum Rahmen
Innenrand, Abstand zum Rahmen
Innenrand, Abstand zum Rahmen
Setzt alle vier Werte, (top, right, bottom, left)
1. Beispiel:
html>
<head>
<title> Boxenvarianten</title>
<style type="text/css">
h1 {
background-color: #00FF00;
font-family: Helvetica; Arial; sans-serif;
}
h2 {
background-color: yellow;
padding-left: 47px;
padding-top: 22px;
font-family: Verdana; Garamond; Times New Roman; sans-serif;
}
</style>
</head>
<body>
Die ist ein einfacher Text
<H1> Hier kommt die erste Überschrift (bsp1) </h1>
<H2> Hier kommt die zweite Überschrift (bsp2) </h2>
</body>
</html>
h2 {
background-color: yellow;
padding: 47px;
// Gilt für alle vier Seiten
padding: 47px 22px 10px 2 px;
// 1. Wert: Top+Bottom; 2. Wert: Right+Left
padding: 47px 22px;
// Top, Right, Bottom, Left
padding: 47px 22px 10px;
// Top, Right+Left, Bottom
padding: 47px 22px 10px 2 px;
// Top, Right, Bottom, Left
font-family: Verdana; Garamond; Times New Roman; sans-serif;
border-top-width: 2px;
}
2. Beispiel:
Mit der Anweisung „padding: 1em“ werden die Ränder relativ zur Größe der Schrift gesetzt.
<html>
<head>
<title> Boxenvarianten</title>
<!-relative Groessenabstaende in der Box -->
<style type="text/css">
body {
background-color: #00FFFF;
font-family: Helvetica; Arial; sans-serif;
}
h1,h2 {
background-color: red;
padding: 1em;
font-family: Times New Roman; sans-serif;
}
</style>
</head>
<body>
Die ist ein einfacher Text
<H1> Hier kommt die erste Überschrift (bsp1) </h1>
<H2> Hier kommt die zweite Überschrift (bsp2) </h2>
</body>
</html>
4.5
Vordefinierte Selectoren
Folgende HTML-Elemente sind fest definiert:
• body
• h1 bis h6
• p
• td
• th
• ol
• ul
• li
4.6
Listen
4.6.1 list-style-type
none
circle
square
disc
decimal
lower-roman
upper-roman
decimal-leading-zero
lower-greek
lower-latin
upper-latin
armenian
georgian
Kein Aufzählungszeichen
Kreis, nur Rahmen
Quadrat
Gefüllter Kreis
Dezimalzahlen (1. ,2. , 3. , ...)
Kleine römische Zahlen (i. ,ii. ,iii. , ...)
Grosse römische Zahlen (I. ,II. , III., ...)
Dezimalzahlen mit führender 0 (01. ,02. , 03. , ...), nur Firefox
Kleine grieschische Nummerierung alpha, beta, gamma,...
Kleine Ascii-Zeichen (a. ,b., c. , ...)
Große Ascii-Zeichen (A., B. ,C. , ...)
Armenische Nummerierung
Georgische Nummerierung
Beispiele:
<ol style="list-style-type:decimal;">
<li>Zeile 1</li>
<li>Zeile 2</li>
</ol>
<ul style="list-style-type:square;">
<li>Zeile 1</li>
<li>Zeile 2</li>
</ul>
oder
ul {
style=list-style-type:square;
}
4.6.2 list-style-image
Bestimmt eine eigene Grafik als Aufzählungszeichen.
url()
none
Dateiname und evtl. Pfad der Grafik
Keine eigene Grafik.
Beispiele:
<ul style="list-style-image: url(images/bulletrd.gif);">
<li>Zeile 1</li>
<li>Zeile 2</li>
<li>Zeile 3</li>
</ul>
list-style-image: Statt Aufzählungspunkt wird eine Grafik verwendet.
UL{
list-style-image:url(http://www.hs-harz.de/image/point.jpg);
}
UL{
list-style-image:url(../image/point.jpg);
}
4.6.3 list-style-position
Rückt das Listenzeichen in der ersten Zeile ein, wenn sich der Eintrag über mehrer Zeilen erstreckt.
<ul>-, <ol>-Tags und display:list-item-Elemente
inside
outside
Die erste Zeile wird soweit eingrückt, dass das Aufzählungszeichen und der Listeneintrag
Linksbündig abschließen.
Das Aufzählungszeichen steht links vom Listeneintrag.
Beispiel:
<ol style="list-style-position:outside;">
<li>Zeile 1<br>Zeile 1</li>
<li>Zeile 2</li>
<li>Zeile 3</li>
</ol>
oder
ol {
style=list-style-position:outside;
}
4.6.4 list-style
Kurzform der drei Listenformatierungen.
Beispiel:
<ol style="list-style:decimal outside;">
<li>Zeile 1</li>
<li>Zeile 2</li>
<li>Zeile 3</li>
</ol>
oder
ol {
style=list-style:decimal outside;
}
4.7
Absatz / Paragraph
Beispiel:
P{
font-family : Verdana, Arial, Helvetica, sans-serif;
font-size : 8pt;
color : #000000;
font-weight : normal;
line-height : 13pt;
}
4.8
Bilder und Text
Texte um Bilder werden mit dem Tag float umflossen. Das Tag „Clear“ setzt dieses Umfließen außer
Kraft.
Beispiel:
<img src="Skully.GIF" alt="Skully.GIF" border="0" style="float:left;">
Die ist ein einfacher Text, der ein ganzes Bild umfließen soll, dabei muss er aber
sehr lang sein, sonst kommt der Effekt nicht tragen, so dass dieser Text
immer noch weiter gehen muss. Nun gut, dann eben der zweite Satz.
<!-- Nun kommt der Text, der immer unter dem Bild ist! -->
<p style=clear:left;">
Die ist ein einfacher Text, der ein ganzes Bild umfließen soll, dabei muss er aber
sehr lang sein, sonst kommt der Effekt nicht tragen, so dass dieser Text
immer noch weiter gehen muss. Nun gut, dann eben der zweite Satz.
Dies ist aber schon der dritte Satz und es wird noch besser. Der vierte
Satz ist nicht weit, er endet vor dem fünften Satz. Bald schon sollte
dieser Text zu Ende sein, denn Inhalt hat er relativ wenig. Aber was
ist schon relativer Inhalt.
Ergebnis:
Abbildung 1
Bilder mit Float-left und Clear-Left
5 Border (Ränder)
Setzt für die Rahmen (oben, rechts, unten, links) jeweils den Stil, die Farbe und die Breite. Wird nicht
von allen Browsern unterstützt.
Hinweis:
Bitte auch den Border-Style setzen (border-style: double;)
Border-Breite:
Entweder eine Maßangabe oder ein Element aus der Liste:
• thin
• medium
• thick
border-top-width:
Setzt die obere Rahmenstärke.
border-right-width:
Setzt die rechte Rahmenstärke.
border-bottom-width: Setzt die untere Rahmenstärke.
border-left-width:
Setzt die linke Rahmenstärke.
border-width:
Setzt alle vier Ränder
border-width: 3px 10px 12 px 14 px
// 3 px oben, 10px rechts, 12px unten, 14px rechts
border-top-color:
Setzt die obere Rahmenfarbe.
border-right-color:
Setzt die rechte Rahmenfarbe.
border-bottom-color:
Setzt die untere Rahmenfarbe.
border-left-color:
Setzt die linke Rahmenfarbe.
border-color:
Setzt alle vier Ränder
border-color: red blue, green yellow
border-top-style:
Setzt den oberen Rahmentyp (gestrichtelt, solid etc.).
border-right-style:
Setzt den rechten Rahmentyp (gestrichtelt, solid etc.).
border-bottom-style:
Setzt den unteren Rahmentyp (gestrichtelt, solid etc.).
border-left-style:
Setzt den linken Rahmentyp (gestrichtelt, solid etc.).
border-style:
Setzt alle vier Ränder
border-style: ridge groove double none
Attribute:
• double
• groove
• inset
• none
• outset
• ridge
• solid
// doppelter Rand
// 3-Dim. Rand
// „eingefallener Rand
// kein Rand
// hervorgehober Rand
// mit Rand
Beispiel:
<html>
<head>
<title> Boxenvarianten</title>
<!-relative Groessenabstaende in der Box -->
<style type="text/css">
body {
background-color: #00FFFF;
font-family: Helvetica; Arial; sans-serif;
}
.myStyle {
border-color: red blue;
border-style: outset;
background-color: yellow;
font-family: Courier new;
font-size: 22pt;
}
.myButton {
border-color: grey;
border-width: medium;
border-style: outset;
background-color: lightgrey;
font-family: Times New Roman;
font-size: 42pt;
}
</style>
</head>
<body>
Die ist ein einfacher Text
<DIV class=myStyle>Hier kommt mein eigener Stil, ich hoffe es wird allen
gefallen.
Dieser Text muss aber etwas l&auml;nger sein um Zeilen zu erzeugen !
</DIV>
<br>
<DIV class=myButton>Disk formatieren
</DIV>
</body>
</html>
Ergebnis:
Abbildung 2
5.1
Text mit CSS-Styles, scheinbar ein Schalter
MARGIN
Margin ist die Angabe eines Außenrandes. „margin“ bezieht sich auf den Abstand des Rahmens zum
Außenbereichs.
margin-top: 3px;
margin-right: 10px;
margin-bottom: 12px;
margin-left: 5in;
margin: 3px 10px 12 px 14 px;
margin: 3px 10px;
margin: 3px auto;
5.2
setzt den oberen Rand:
setzt den rechten Rand
setzt den unteren Rand
setzt den linken Rand
setzt alle vier Ränder // top, right, bottom, left
setzt alle vier Ränder // top+bottom=3, left+right=10
setzt alle vier Ränder // top+bottom=3, left+right=auto
PADDING
Padding ist die Angabe eines Innenrandes. Während „margin“ die Hintergrundfläche und
Schriftbereich gleich einrückt, definiert padding nur den Schriftbereich. Die Hintergrundfläche bleibt
erhalten, bzw. funktioniert zusätzlich.
padding-top: 3px;
padding-right: 10px;
padding-bottom: 12px;
padding-left: 5in;
setzt den oberen Rand:
setzt den rechten Rand
setzt den unteren Rand
setzt den linken Rand
padding: 3px 10px 12 px 14 px;
padding: 3px 10px;
padding: 3px auto;
setzt alle vier Ränder // top, right, bottom, left
setzt alle vier Ränder // top+bottom=3, left+right=10
setzt alle vier Ränder // top+bottom=3, left+right=auto
Der obere Ausschnitt zeigt das Tag „margin“. Der untere Ausschnitt zeigt beide „margin“ und
„padding“. Sie Beispiel test2.html und test2.css.
5.3
Mauszeiger
Folgende Typen existieren:
• auto
• crosshair
• default
• e-resize
• help
• move
• n-resize
• ne-resize
• nw-resize
• pointer
• s-resize
• se-resize
• sw-resize
• text
• w-resize
• wait
Betriebssystem abhängig
Einfache Pluszeichen
+
Weißer Pfeil
waagerechter Pfeil (East-Pfeil)
Fragezeichen mit Pfeil
Ein Pluszeichen mit einem Pfeil an jedem Ende
Senkrechter Strich mit Pfeilen (North-Pfeil)
North-East Pfeil
Nord-West-Pfeil
Hand
South-Pfeil oder n-resize
South-East-Pfeil oder nw-resize
South-West-Pfeil oder ne-resize
Textkursor I
West-Pfeil oder e-resize
SandUhr
Beispiel:
h1 {
cursor: crosshair;
}
<H1> Erste Überschrift mit crosshair </h1>
.h9 {
cursor: text;
font-size=32pt;
}
<DIV class=H9> Neunte Überschrift mit text </DIV>
<span id=Out1 class=Outline style="cursor: hand; ">
6 Navigationsmenü mit Listen
Ein Menü kann mittels Javascript oder mittels CSS-Methoden und einer Liste erzeugt werden. Das
folgende Beispiel zeigt eine Menüstruktur an Hand einer Liste. Dabei mussten folgende Eigenschaften
verändert werden:
• Anzeige des Listenknotens
• Normale Hintergrundfarbe
• Einrückung abschalten
• Referenz einfügen
• Hintergrundfarbe bei „Mouse-Over“
• Einfügen eines Untermenüs
Das Grundbeispiel ist aus Cascading Stylessheets, Shafer:
Die Eigenschaften sind auf mehrere Styles verteilt. Dabei gilt eine Vererbung.
Stylename
UL#menu
UL#menu li
UL#menu li a:link, UL#menu li a:visited
UL#menu li a:hover
UL#menu UL.subnav
Beschreibung
Es ist das Hauptstyle. Es verändert die Schrift,
die Ränder und die Hintergrundfarbe.
Das das Style, das in dem Block für ein
Listenelemnet wirksam ist. Es zeichnet eine Linie
oberhalb des Elementes.
Für beide Style existiert die identische
Definition. Sie werden für die Links aufgerufen.
Dieser Style wird aufgerufen, wenn der Mauskursor sich über dem Element befindet.
Definiert das Untermenü. Man könnte könnte
auch nur “.subnav“ schreiben.
Hier der kompletteQuellcode:
<html>
<head>
<title> Navigation mittels Listen, 11. Variante </title>
<!-<!-<!-<!-<!-<!-<!-<!-<!-<!-<!--
Beispiel fuer ein Navigationsmenue mittels CSS -->
1. Aenderung: Liste ausschalten, list-style: none; -->
2. Aenderung: Listeneinrueckung ausschalten,
margin: 0; padding:0; -->
3. Aenderung: Hintergrundfarbe mit background-color: #C3C3C3; -->
4. Aenderung: Referenzen einfügen -->
5. Aenderung: Entfernen der Unterstreichung bei den Referenzen
mit text-docoration: none; -->
6. Aenderung: Oberen Rand einfuegen mit border-top -->
7. Aenderung: Wechsel der Hintergrundfarbe background-color
und hover -->
8. Aenderung: Die Listeneintraege als Block definieren,
Zusatzeintrag in UL#menu li -->
9. Aenderung: Hinzufügen von Innenraendern 6%, Breite auf 88%,
1,5 Zeilenabstand -->
10. Aenderung: Untermenues -->
<style type="text/css">
body {
background-color: #00FFFF;
font-family: Helvetica; Arial; sans-serif;
}
UL#menu {
font-family: Verdana;
font-size: 22pt;
list-style: none;
margin: 0;
padding:0;
background-color: 5C6F90;
background-color1: #C3C3C3;
color: blue;
}
//
//
//
//
1. Änderung
2. Änderung
2. Änderung
3+10. Änderung
UL#menu li a:link, UL#menu li a:visited {
text-decoration: none;
display:block;
width1="88%";
padding: 6px 6%;
background-color:#5C6F90;
font: bold 22pt Arial, sans-serif;
color: #FFFFFF;
}
//
//
//
//
//
//
//
5. Änderung
8. Änderung
8+9. Änderung
9. Änderung
9. Änderung
9. Änderung
9. Änderung
UL#menu li {
border-top: 1px solid #A5B5C5;
}
// 6. Änderung
UL#menu li a:hover {
background-color: #43616B;
}
UL#menu UL.subnav {
color:red;
font-size: 16pt;
list-style: none;
margin1: 0; <!-- Alle Raender NULL -->
padding:0;
}
// 7. Änderung
// 10. Änderung
</style>
</head>
<body>
<!-- Tabelle -->
<TABLE BORDER=1
WIDTH="100%">
<TR>
<TD COLSPAN="2" ALIGN="CENTER"> Kopfzeile</TD>
</TR>
<TR>
<TD WIDTH="300" >
<UL id="menu" >
<LI> <a href="page1.html">
Kapitel 1 </a> </LI>
<UL class="subnav" >
<LI> <a href="page1_1.html">
<LI> <a href="page1_2.html">
<LI> <a href="page1_3.html">
</UL>
<LI> <a href="page2.html">
<LI> <a href="page3.html">
<LI> <a href="page4.html">
</UL>
</TD>
Kapitel 2 </a> </LI>
Kapitel 3 </a> </LI>
Kapitel 4 </a> </LI>
<TD VALIGN="TOP">
<H2> Welcome to our Homepage
<H3> News: </H3>
Morgen ist Hitzefrei
</TD>
</TR>
<TR>
<TD
</TR>
</TABLE>
</body>
</html>
Ergebnis:
Kapitel 1.1 </a> </LI>
Kapitel 1.1 </a> </LI>
Kapitel 1.2 </a> </LI>
COLSPAN="2"> Statuszeile</TD>
</H2>
7 Beispiele
7.1
Definition in der CSS-Datei
BODY {
font-size: 12pt;
color: #FF0000;
}
UL{
list-style-type:square;
list-style-position:outside;
}
UL{
margin-left:2.0in;
color: #FFFF00;
background-color: black;
list-style-type:square;
list-style-image: url(point.gif);
}
OL{
list-style-type:lower-alpha;
}
H2 {
font-size: 14pt;
color: #0000FF;
font-weight : small;
}
H2 {
font-size: 28pt;
color: red;
margin-left: -1.0in;
: overline underline;
}
BLOCKQUOTE(
display: block
)
.CELL {
font-family : Tahoma, Geneva, Arial, Helvetica, sans-serif;
font-size: 19pt;
color: #000000;
font-weight : normal;
}
.ROWHEADER {
font-family : Tahoma, Geneva, Arial, Helvetica, sans-serif;
font-size: 9pt;
color: #ffffff;
font-weight : bold;
}
TD {
font-family : Tahoma, Geneva, Arial, Helvetica, sans-serif;
font-size: 15pt;
color: #00FFFF;
font-weight : 900;
}
TH {
font-family : Tahoma, Geneva, Arial, Helvetica, sans-serif;
font-size: 19pt;
color: #00FF00;
font-weight : normal;
}
BODY {
background: #EEEE50;
font-size: 12pt;
font-family: Times;
margin-left: 1.0in;
margin-right: 1.0in;
}
P{
text-indent: 0.5in;
margin-top: 0.25in;
font-size: 12pt;
font-variant: small-caps;
word-spacing: 0.4em;
letter-spacing: -0.1em;
}
#box1 {
position:absolute; top:50%;
left:10px; width:50%; height:150px; z-index:1;
}
7.2
Definition im HTML-Code:
Der Fachbereich <span class="bold">Automatisierung und Informatik </span>wurde im Herbst 1992
gegründet.
<EM class=superstyle>Automatisierung und Informatik</EM>
.MYSTYLE{
list-style-type:lower-alpha;
}
<DIV class=mystyle>Automatisierung und Informatik</DIV>
</DIV>
<div id="box3" style="background:yellow; border:solid 2px red;">box3
<!-- padding Rand zu&auml;tzlich Top, left, bottom, right -->
<!-- border-->
<!--none = kein Rahmen (bzw. unsichtbarer Rahmen). -->
<!--hidden = kein Rahmen (bzw. unsichtbarer Rahmen), siehe nach unten Hinweis.-->
<!--dotted = gepunktet.-->
<!--dashed = gestrichelt.-->
<!--solid = durchgezogen.-->
<!--double = doppelt durchgezogen.-->
<!--groove = 3D-Effekt.-->
<!--ridge = 3D-Effekt.-->
<!--inset = 3D-Effekt.-->
<!--outset = 3D-Effekt.-->
<!--style="float: left; ohne BR-->
<div id="nav" style="float: left;
padding: 10px; width: 150px; background: rgb(220,230,220);
border: 5px groove red;">
Indexverzeichnis
A
Absatz P 26
B
Background 20, 21
Background-Attachment 21
Background-Color 21
Background-Image 21
Background-Position 21
Background-Repeat 21
Bilder 26
Bilder und Text 26
Border 28
Box 22
C
class 9
Color 20
CSS
Literatur 5
Validierung 5
Cursor 31
D
Display 12
Div 6, 7
double 29
F
Farbeinheiten 14
Farben 20
Font 15
Font-family 15
Font-size 16
Font-style 16
Font-Variant 16
G
Geschachtelte Elemente 10
I
id 9
K
Kommentare 14
Kursor 31
L
letter-spacing 18
Line-height 19
Listen 24
List-style 26
List-style-image 25
List-style-position 25
M
Margin 22, 30
Maßeinheiten 14
N
Nachbarschaft 10
Navigationsmenü mit Listen 33
P
P 26
Padding 30
R
Randeingabe 30
Ränder 28
S
Span 6, 7
T
Text 18
Text und Bilder 26
Text-align 19
text-decoration 18
Text-indent 19
Text-transfrom 19
V
Vererbung 10
Vertical-align 18
Vordefinierte Selectoren 24
W
Word-spacing 18
Z
Zeilenhöhe 19

Documents pareils