HTML & CSS. Beispiele aus der Praxis

HTML & CSS Beispiele aus der Praxis Übungsblatt 2 http://www.uni-koblenz.de/~ugotit Fragen? Wiederholung Beispiele • von .../~ugotit/test/i...
Author: Marcus Bruhn
5 downloads 2 Views 1MB Size
HTML & CSS

Beispiele aus der Praxis

Übungsblatt 2

http://www.uni-koblenz.de/~ugotit

Fragen?

Wiederholung

Beispiele • von .../~ugotit/test/index.htm zu .../~ugotit/test2/html/index.htm

• Absoluter Pfad relativ zur Basis /test2/html/index.htm

• Relativer Pfad ../test2/html/index.htm

Nützliche HTML-Elemente • h1 - h6

• li

•p

• dl, dt & dd

• div

• table, caption, thead, tfoot, tbody, tr, th, td

• span • ... • ul • ol

object • SVG in eigene Seite einbetten:

Sie benötigen einen SVG-Viewer • YouTube (Flash) Video (gibt es bei vielen Videos unter „“)

HTML5 • section Beschreibt einen Bereich. Statt dann • aside Beschreibt einen untergeordneten Bereich. Auf Webseiten häufig Sidebars • header Beschreibt den Kopfbereich einer Seite / eines Bereichs • footer Beschreibt den Fußbereich einer Seite / eines Bereichs • nav Navigationsbereich

Nachtrag von letzter Woche: colspan / rowspan • W3C: colspan und rowspan sind zugelassene Attribute http://www.w3.org/TR/html5/tabular-data.html#attr-tdth-colspan • Bei mir wurde eine Beispielseite auch fehlerfrei validiert (10.05.2010).

Einbindung von Stylesheets • Einbindung direkt im HTML ... • Einbindung über -Element • Einbindung innerhalb einer HTML Datei /* Anweisungen*/ • Einbindung innerhalb einer HTML Datei und import einer externen CSS Datei @import(css.css);

Einbindung von Stylesheets • Einbindung direkt im HTML ... • Einbindung über -Element • Einbindung innerhalb einer HTML Datei /* Anweisungen*/ • Einbindung innerhalb einer HTML Datei und import einer externen CSS Datei @import(css.css);

Selektor • weist einem HTML-Element Layoutanweisungen zu • selektor{ eigenschaft:wert; eigenschaft: wert wert; } • /* Kommentar */

Fragen?

Themen heute • CSS • Praxis • Basisstylesheet • Praxisbeispiele

CSS

best practice • Jeder Browser nutzt einen Browserstylesheet um HTML zu formatieren. • Problem: Wir müssen einige Formatierungen überschreiben. Diese sind in jedem Browser anders • Lösung: CSS Reset • http://meyerweb.com/eric/tools/css/reset/ • http://html5doctor.com/html-5-reset-stylesheet/ • Diesen Stylesheet vor dem eigenen Stylesheet einbinden.

Schriftbild • font-family: Schriftfamilie / Schriftart Schriftfamilie: z.B. serif or sans-serif Schriftart: Muss auf dem Rechner des Besuchers (!) installiert sein. Mehrere Angaben möglich (s.u.) • font-size:Schriftgröße z.B. px, em, %,.... • font-style: Schriftstil italic, oblique, normal • font-variant: Kapitälchen small-caps, normal

Schriftbild • font-weight: Schriftgewicht normal, bold, bolder, lighter, 100 - 900 • font font-style, font-variant, font-weight, font-size/line-height, font-family p.test{ font: normal normal lighter 12px/14px Verdana, Arial, sans-serif }

Schriften (Web Core Fonts)

1996 bis 2002: „Core fonts for the Web“ (Microsoft) Zehn Schriften die kostenlos verfügbar und auf jedem Windows- und Mac-System installiert sind.

Schriften (Windows XP)

Schriften (Vista)

Schriften (Open Source)

Schriftgröße - Schlüsselwerte • xx-small = winzig • x-small = sehr klein • small = klein • medium = mittel • large = groß • x-large = sehr groß • xx-large = riesig

Schriftgröße - Schlüsselwerte • xx-small = winzig • x-small = sehr klein • small = klein • medium = mittel • large = groß • x-large = sehr groß • xx-large = riesig

Ist die Verwendung sinnvoll?

Maßeinheiten - Numerische Angaben Abkürzung

Angabetyp

Bedeutung

pt pc in mm cm px

absolut absolut absolut absolut absolut absolut / relativ

em

relativ

ex

relativ

Punkt: 1 Punkt = 1/72 Inches Pica (-Punkt): 1 Pica = 12 Punkt Inch: 1 Inch = 2.54cm Millimeter Zentimeter Pixel bezogen auf die Schriftgröße des Elements. Ausnahme: Bei font-size bezieht sie sich auf die Schriftgröße des Elternelements. Bezieht sich, analog zu em, auf die Größe des Kleinbuchstaben x

%

relativ

Prozent: Bezieht sich auf Element

Fragen?

best practice: Compose to a Vertical Rhythm

Schriftgröße & Zeilenhöhe • Schriftgröße 12px body{ font-size:75%; } • Kleiner IE-Hack html>body{ font-size:12px; } • Zeilenhöhe auf 1,5fache Schriftgröße setzen p{ line-height: 1.5em; }

Schriftgröße & Zeilenhöhe • Schriftgröße 12px body{ font-size:75%; }

Standardschriftgröße in allen Browsern: 16px

• Kleiner IE-Hack html>body{ font-size:12px; } • Zeilenhöhe auf 1,5fache Schriftgröße setzen p{ line-height: 1.5em; }

Zeilenabstand • p{ font-size: 1em; line-height: 1.5em; margin: 1.5em 0; // oben + unten 1.5em } • Abstand zwischen Absätzen beträgt genau eine Zeilenhöhe (1,5fache Schriftgröße) • Nun ist auch rein optisch der Unterschied zwischen ... und

sichtbar.

Schriftbild weiter verschönen • Beispiel h2: h2{ font-size:1.1667em; line-height: 1.286em; margin: 1.286em 0; } • Alternativ: h2{ font-size:1.1667em; line-height: 1.286em; margin: 1.929em 0 0.643em; }

Schriftbild weiter verschönen • Beispiel h2: h2{ font-size:1.1667em; line-height: 1.286em; margin: 1.286em 0; }

Welche Schriftgröße ist das?

• Alternativ: h2{ font-size:1.1667em; line-height: 1.286em; margin: 1.929em 0 0.643em; }

Fragen?

Innen- und Außenabstand • Innenabstand: padding padding-top, padding-right, padding-bottom, padding-left padding: Xpx // Innenabstand von Xpx zu jeder Seite padding: Xpx Ypx // Innenabstand oben und unten Xpx. Innenabstand links und rechts Ypx padding: Xpx Ypx Zpx // oben: Xpx, links, rechts: Ypx, unten: Zpx padding: Wpx Xpx Ypx Zpx //oben: W, rechts: X, unten: Y, links: Z • Außenabstand: margin (margin-top, ... analog zu padding)

margin

border • border-color Rahmenfarbe

• border-bottom Rahmen unten

• border-style Rahmenart: none, dotted, dashed, solid, double, groove, ridge, inset, outset, Inherit

• border-bottom-color Rahmenfarbe unten

• border-width Rahmenbreite thin, medium, thick,...

• border-bottom-style Rahmenart unten • border-bottom-width Rahmenbreite unten • border-left, border-top und borderright analog

border • border border-width border-style border-color • div#box{ border:1px solid #000; // 1px solider schwarzer Rahmen }

Box-Modell (normale Browser)

Box-Modell (Internet Explorer)

best practice • Mehrere div-Container nutzen: • Der äußere bekommt die Eigenschaften für width, float und margin • Der innere bekommt padding und border • Hängt hier immer vom gewünschten Ergebnis an. Trotzdem gilt grundsätzlich: so wenige Elemente nutzen wie möglich

Fragen?

Hintergrund • background-attachment Hintergrund fixieren: fixed, scroll • background-image Hintergrundbild: url(‘PFAD/ZUM/BILD‘), none • background-position Hintergrundbild positionieren: left, right, center, top, bottom, center 1. Wert: horizontale Position | 2. Wert: vertikale Position • background-repeat Hintergrund wiederholen: no-repeat, repeat, repeat-x, repeat-y

Hintergrund • background: background-color, background-image, background-attachment, background-position, background-repeat body{ background:transparent url(‘bg.gif‘) fixed center center no-repeat }

Elemente positionieren • float • position • s. auch: http://www.css4you.de/posproperty.html

float • Positioniert ein Element links (left) oder rechts (right) und lässt die folgenden Elemente um das mit float positionierte Element „fliessen“ • Dieser Effekt lässt sich mit clear (left, right & both) aufheben

position • absolute Absolute Positionierung durch die Angaben left, top, right, bottom. Absolut positionierte Elemente sind außerhalb des normalen Textfluß, 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 () ist. Da sich der Seiteninhalt scrollen lässt, werden absolut positionierte Elemente mitgescrollt. • relative Relative Positionierung vom normalem Fluß. Die normale Position ist wie bei static im normalem Textfluß. 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

position • fixed (kann der IE erst ab Version 7) Wie absolute, jedoch bleibt das Element beim Scrollen stehen und die Positionierung orientiert sich am Viewport (dem sichtbaren Browserfenster) und nicht am übergeordneten Element. • static Positionierung im Textfluss. Die Angaben left, top, right, bottom sind unwirksam.

Fragen?

best practice: Programmierkino

Fragen?

Vielen Dank für Eure Aufmerksamkeit!