24
XML light CSS – Cascading Style Sheets Jörn Clausen [email protected]

CSS -- Cascading Style Sheets - techfak.uni-bielefeld.dejoern/edu/xml/xmllight04/xml3-screen.pdfÜbersicht • Wieso Cascading Style Sheets? • HTML und CSS • XML und CSS • Ausblick

  • Upload
    others

  • View
    10

  • Download
    0

Embed Size (px)

Citation preview

Page 1: CSS -- Cascading Style Sheets - techfak.uni-bielefeld.dejoern/edu/xml/xmllight04/xml3-screen.pdfÜbersicht • Wieso Cascading Style Sheets? • HTML und CSS • XML und CSS • Ausblick

XML light

CSS – Cascading Style Sheets

Jörn [email protected]

Page 2: CSS -- Cascading Style Sheets - techfak.uni-bielefeld.dejoern/edu/xml/xmllight04/xml3-screen.pdfÜbersicht • Wieso Cascading Style Sheets? • HTML und CSS • XML und CSS • Ausblick

Übersicht

• Wieso Cascading Style Sheets?

• HTML und CSS

• XML und CSS

• Ausblick

XML light CSS – Cascading Style Sheets 2/24

Page 3: CSS -- Cascading Style Sheets - techfak.uni-bielefeld.dejoern/edu/xml/xmllight04/xml3-screen.pdfÜbersicht • Wieso Cascading Style Sheets? • HTML und CSS • XML und CSS • Ausblick

Probleme, Probleme . . .

• Probleme mit XML:

„Und wie kann ich mir das jetzt ansehen?“

• Probleme mit HTML:– Ändere die Farbe aller h2-Überschriften in blau:

<h1><font color="red">HTML</font></h1>

<h2><font color="red">Einleitung</font></h2>

– Erstelle ein Inhaltsverzeichnis:<font size="+3">HTML</font>

<font size="+2">Einleitung</font>

• trenne Inhalt/Struktur von Formatierung

• lege Formatierung ausserhalb des Dokuments fest

XML light CSS – Cascading Style Sheets 3/24

Page 4: CSS -- Cascading Style Sheets - techfak.uni-bielefeld.dejoern/edu/xml/xmllight04/xml3-screen.pdfÜbersicht • Wieso Cascading Style Sheets? • HTML und CSS • XML und CSS • Ausblick

Cascading Style Sheets

• Idee: Element ↔ Darstellung

• ursprünglich für HTML, später auch für XML

• mehrere Versionen: CSS1 (1996), CSS2 (1998), . . .

• Unterstützung durch aktuelle Browser:

– Gecko (Mozilla, Firebird, Netscape 6+)

– khtml (Konqueror, Safari)

– Opera

– Internet Explorer 5.5+

XML light CSS – Cascading Style Sheets 4/24

Page 5: CSS -- Cascading Style Sheets - techfak.uni-bielefeld.dejoern/edu/xml/xmllight04/xml3-screen.pdfÜbersicht • Wieso Cascading Style Sheets? • HTML und CSS • XML und CSS • Ausblick

Wieso „Cascading“?

• Format-Definition an verschiedenen Stellen:

– globale CSS-Datei, zusätzliche Definitionen in HTML-Datei

– geschachtelte Elemente

• speziellere Definition gewinnt

• Vorgaben individuell anpassen

XML light CSS – Cascading Style Sheets 5/24

Page 6: CSS -- Cascading Style Sheets - techfak.uni-bielefeld.dejoern/edu/xml/xmllight04/xml3-screen.pdfÜbersicht • Wieso Cascading Style Sheets? • HTML und CSS • XML und CSS • Ausblick

Aufgaben

• Verwende im weiteren Verlauf entweder Mozilla oder Opera alsWeb-Browser.

• Lade die Datei content.html in den Web-Browser.

• Füge im header von content.html folgende Zeile ein undverwende die Reload-Funktion des Browsers:

<link rel="stylesheet" type="text/css" href="format.css"/>

• Öffne die Datei format.css mit einem Editor und sieh sie Dir an.Sorge dafür, daß h2-Überschriften blau eingefärbt werden.

XML light CSS – Cascading Style Sheets 6/24

Page 7: CSS -- Cascading Style Sheets - techfak.uni-bielefeld.dejoern/edu/xml/xmllight04/xml3-screen.pdfÜbersicht • Wieso Cascading Style Sheets? • HTML und CSS • XML und CSS • Ausblick

Rules• aus format.css :

h1 {

color: red;

}

• Zeilenumbrüche egal:

h1 { color: red; }

• Aufbau:

selector { property: value; }

• mehrere declarations gleichzeitig:

h1 {

color: red;

background: green;

}

XML light CSS – Cascading Style Sheets 7/24

Page 8: CSS -- Cascading Style Sheets - techfak.uni-bielefeld.dejoern/edu/xml/xmllight04/xml3-screen.pdfÜbersicht • Wieso Cascading Style Sheets? • HTML und CSS • XML und CSS • Ausblick

Farben

• zwei properties bereits gesehen: color , background

• vordefinierte Farben: aqua , black , blue , fuchsia , gray ,green , lime , maroon , navy , olive , purple , red , silver ,teal , white , yellow

• RGB-Farben– Prozent-Angaben:

h1 { color: rgb(20%, 60%, 0%); }

– Hexadezimal-Darstellung:h1 { color: #FF001B; }

XML light CSS – Cascading Style Sheets 8/24

Page 9: CSS -- Cascading Style Sheets - techfak.uni-bielefeld.dejoern/edu/xml/xmllight04/xml3-screen.pdfÜbersicht • Wieso Cascading Style Sheets? • HTML und CSS • XML und CSS • Ausblick

Schriften

• Font-Eigenschaften

– font-family : serif , sans-serif , . . . , Times , Helvetica , . . .

– font-style : italic , oblique

– font-variant : small-caps

– font-weight : bold , bolder , lighter , 100 , . . . , 900

– font-size : small , large , x-large , . . . , 12pt , 75%

• Kurzschreibweise

h1 { font: bold italic 24pt serif; }

• alternative Schriften anbieten:

h1 { font-family: Times, serif; }

XML light CSS – Cascading Style Sheets 9/24

Page 10: CSS -- Cascading Style Sheets - techfak.uni-bielefeld.dejoern/edu/xml/xmllight04/xml3-screen.pdfÜbersicht • Wieso Cascading Style Sheets? • HTML und CSS • XML und CSS • Ausblick

Aufgaben

• Färbe einige der Elemente in der HTML-Datei ein. Verwendesowohl vor- als auch selbstdefinierte Farben.

• In welcher Farbe werden die unordered lists dargestellt:

ul { color: blue; }

li { color: green; }

• Sorge dafür, daß Überschriften serifenlos gesetzt werden, für denrestlichen Text aber eine Serifen-Schrift verwendet wird.

XML light CSS – Cascading Style Sheets 10/24

Page 11: CSS -- Cascading Style Sheets - techfak.uni-bielefeld.dejoern/edu/xml/xmllight04/xml3-screen.pdfÜbersicht • Wieso Cascading Style Sheets? • HTML und CSS • XML und CSS • Ausblick

Rules revisited

• mehrere Elemente gleichzeitig definieren

ul, ol, dl { color: green; }

• kontextabhängige Regeln

h1 em { color: red; }

p > strong { color: green; }

• Element-spezifische Klassen

p.extra { font-size: 80%; }

<p>...</p>

<p class="extra">...</p>

• Element-unabhängige Klassen

.hilite { color: white; background: blue; }

XML light CSS – Cascading Style Sheets 11/24

Page 12: CSS -- Cascading Style Sheets - techfak.uni-bielefeld.dejoern/edu/xml/xmllight04/xml3-screen.pdfÜbersicht • Wieso Cascading Style Sheets? • HTML und CSS • XML und CSS • Ausblick

Aufgaben

• Sorge dafür, daß Absätze in Listen in blau gesetzt werden, sonstigeAbsätze aber in schwarz.

• Einige Hervorhebungen sind wichtiger als andere. Sorge dafür, daßdas zweite em-Element mit einer Farbe hinterlegt wird.

• Füge diese Regeln ein:

p kbd { background: blue; }

p > kbd { background: green; }

Was passiert, wenn Du die Reihenfolge dieser beiden Regelnvertauscht?

XML light CSS – Cascading Style Sheets 12/24

Page 13: CSS -- Cascading Style Sheets - techfak.uni-bielefeld.dejoern/edu/xml/xmllight04/xml3-screen.pdfÜbersicht • Wieso Cascading Style Sheets? • HTML und CSS • XML und CSS • Ausblick

XML mit CSS formatieren

• gleiche Idee: Element ↔ Darstellung

• aber: keine vordefinierten/impliziten Regeln

• keine Semantik (Hypertext, Bilder)

XML light CSS – Cascading Style Sheets 13/24

Page 14: CSS -- Cascading Style Sheets - techfak.uni-bielefeld.dejoern/edu/xml/xmllight04/xml3-screen.pdfÜbersicht • Wieso Cascading Style Sheets? • HTML und CSS • XML und CSS • Ausblick

Aufgaben

• Die Dateien panther.xml und erlkoenig.xml enthaltenGedichte. Such Dir eine der beiden Dateien aus und sieh sie Dir mitDeinem Web-Browser. Wie wird das Gedicht dargestellt?

• Füge unmittelbar nach der XML-Deklaration folgende Zeile ein:

<?xml-stylesheet type="text/css" href="gedichte.css"?>

Wie wird das Gedicht nun im Browser dargestellt? Sieh Dir dieDatei gedichte.css genauer an.

• Sorge dafür, daß der Titel in einer größeren Schrift und der Autorkursiv dargestellt wird.

XML light CSS – Cascading Style Sheets 14/24

Page 15: CSS -- Cascading Style Sheets - techfak.uni-bielefeld.dejoern/edu/xml/xmllight04/xml3-screen.pdfÜbersicht • Wieso Cascading Style Sheets? • HTML und CSS • XML und CSS • Ausblick

Box Model• Elemente werden zu Kästen

• Anordnung: nebeneinander, untereinander, ineinander

• zwei Arten:

– block boxes: vertikale Anordnung

– inline boxes: horizontale Anordnung

XML light CSS – Cascading Style Sheets 15/24

Page 16: CSS -- Cascading Style Sheets - techfak.uni-bielefeld.dejoern/edu/xml/xmllight04/xml3-screen.pdfÜbersicht • Wieso Cascading Style Sheets? • HTML und CSS • XML und CSS • Ausblick

Box Model, cont.

• Zuordnung (block, inline) bei HTML bekannt

• explizite Zuweisung in XML: display

• mögliche Werte: block , inline , none

img { display: block; }

p.extra { display: none; }

XML light CSS – Cascading Style Sheets 16/24

Page 17: CSS -- Cascading Style Sheets - techfak.uni-bielefeld.dejoern/edu/xml/xmllight04/xml3-screen.pdfÜbersicht • Wieso Cascading Style Sheets? • HTML und CSS • XML und CSS • Ausblick

Aufgaben

• Ordne den Elementen im Gedicht sinnvolle display-Eigenschaftenzu. Titel und Autor sollen in einer Zeile stehen, und die Zeilen desGedichts sollen als solche zu erkennen sein.

XML light CSS – Cascading Style Sheets 17/24

Page 18: CSS -- Cascading Style Sheets - techfak.uni-bielefeld.dejoern/edu/xml/xmllight04/xml3-screen.pdfÜbersicht • Wieso Cascading Style Sheets? • HTML und CSS • XML und CSS • Ausblick

Aufbau von Kästen

heig

htwidth

top

left right

bottom

border

margin

padding

content

XML light CSS – Cascading Style Sheets 18/24

Page 19: CSS -- Cascading Style Sheets - techfak.uni-bielefeld.dejoern/edu/xml/xmllight04/xml3-screen.pdfÜbersicht • Wieso Cascading Style Sheets? • HTML und CSS • XML und CSS • Ausblick

border

• Eigenschaften des Rahmens:

– border-width : thin , medium, thick , 1px , 5em, 2%

– border-style : solid , dotted , dashed , groove , . . .

– border-color : Farbangabe

• Kombinationen:

h1 { border: 2px solid blue; }

• einzelne Seiten definieren:

h1 { border-bottom-style: solid; }

em { border-bottom: 1px dashed green; }

XML light CSS – Cascading Style Sheets 19/24

Page 20: CSS -- Cascading Style Sheets - techfak.uni-bielefeld.dejoern/edu/xml/xmllight04/xml3-screen.pdfÜbersicht • Wieso Cascading Style Sheets? • HTML und CSS • XML und CSS • Ausblick

Aufgaben

• Sorge dafür, daß der Titel unterstrichen wird.

• Füge zur Visualisierung der Kästen folgende Regel ein:

* { border: 1px dashed grey; }

Kommentiere sie später wieder aus. CSS verwendet die gleichenKommentarzeichen wie „C“:

/* ... */

• Welche Ausdehnung haben block- und inline-Elemente?

XML light CSS – Cascading Style Sheets 20/24

Page 21: CSS -- Cascading Style Sheets - techfak.uni-bielefeld.dejoern/edu/xml/xmllight04/xml3-screen.pdfÜbersicht • Wieso Cascading Style Sheets? • HTML und CSS • XML und CSS • Ausblick

padding und margin

• padding: Abstand zwischen Inhalt und Rahmen

• margin: Abstand zum nächsten Kasten

h1 {

border: 2px solid red;

padding: 10px;

}

p {

margin-top: 1em;

margin-bottom: 1em;

}

XML light CSS – Cascading Style Sheets 21/24

Page 22: CSS -- Cascading Style Sheets - techfak.uni-bielefeld.dejoern/edu/xml/xmllight04/xml3-screen.pdfÜbersicht • Wieso Cascading Style Sheets? • HTML und CSS • XML und CSS • Ausblick

Aufgaben

• Sorge dafür, daß man die Strophen des Gedichts erkennen kann.

• Ist es möglich, negative Werte für padding und marginanzugeben?

• Was passiert, wenn Du das padding eines gerahmten inline-Blocksauf einen relativ großen Wert (z.B. 4em) setzt?

XML light CSS – Cascading Style Sheets 22/24

Page 23: CSS -- Cascading Style Sheets - techfak.uni-bielefeld.dejoern/edu/xml/xmllight04/xml3-screen.pdfÜbersicht • Wieso Cascading Style Sheets? • HTML und CSS • XML und CSS • Ausblick

Aufgaben

• Versuche die CSS-Datei so zu erweitern/ändern, daß folgendeFormatierung entsteht:

XML light CSS – Cascading Style Sheets 23/24

Page 24: CSS -- Cascading Style Sheets - techfak.uni-bielefeld.dejoern/edu/xml/xmllight04/xml3-screen.pdfÜbersicht • Wieso Cascading Style Sheets? • HTML und CSS • XML und CSS • Ausblick

Ausblick

• Grenzen von CSS:

– XML-Struktur ändern (Sortieren, Inhaltsverzeichnis, . . . )

– Text einfügen (teilweise in CSS2)

• Extensible Stylesheet Language (XSL)

– XSL Transformations (XSLT)

– XSL Formatting Objects (XSL-FO)

• viele Ideen von CSS in XSL-FO aufgegriffen/erweitert

• teilweise gleiche Nomenklatur

XML light CSS – Cascading Style Sheets 24/24