Workshop HTML, CSS Javascript

Ähnliche Dokumente
1 Definition der Selektoren Einbinden der CSS 3 Möglichkeiten Farbangaben Schriftformatierung Abstände...

Inhalt HTML 2. Applets Frames Formulare CSS cascading style sheets. Lehrveranstaltung Internet in AT Dr.-Ing. A. Braune TECHNISCHE UNIVERSITÄT DRESDEN

Inhaltsverzeichnis. Florian Bauer CSS Seite 2 von 10

Was ist ein Frame? Frames teilen Browser-Fenster in rechteckige Bereiche. Mehrere Web-Seiten können. Web-Seite wird langsamer geladen

Digitale Medien. Übung

Kennen, können, beherrschen lernen was gebraucht wird

7 Allgemeines zu Objekten

CSS - Cascading Style Sheets

E-Commerce: IT-Werkzeuge. Web-Programmierung. Kapitel 3: Webdesign mit CSS Stand: Übung WS 2015/2016. Benedikt Schumm M.Sc.

CSS. Cascading Style Sheets

Formatierung eines Text Ads in CSS

E-Commerce: IT-Werkzeuge. Web-Programmierung. Kapitel 4: Einführung in JavaScript Stand: Übung WS 2014/2015. Benedikt Schumm M.Sc.

Übung zur Vorlesung Digitale Medien. Sarah Tausch Alice Thudt Ludwig-Maximilians-Universität München Wintersemester 2012/2013

CSS. Cascading Stylesheets

Digitale Medien. Übung zur Vorlesung. Vorlesung: Heinrich Hußmann Übung: Renate Häuslschmid

Grundlagen-Beispiel CSS

Digitale Medien Vergangene Vorlesungen. Style-/Formatangaben. Style Angabe für jedes HTML-Element einfachster Fall: style-attribut

Allgemeine Technologien II Sommersemester Mai 2011 CSS

Interne Verweise = Links innerhalb eines Homepage-Projekts

Die Programmiersprache des Webs. HTML HyperText Markup Language Hypertext - Auszeichnungssprache

Eine Schnelleinführung in CSS

Aufbau eines Klassen-Selektors: selektor.klasse { css-eigenschaft1:wert1; css-eigenschaft2:wert2;...}

Allgemeine Technologien II Wintersemester 2011 / November 2011 CSS

ANWENDUNGSSOFTWARE CSS

HTML - Grundbegriffe. Informatik 1 für Nebenfachstudierende Grundmodul. Kai-Steffen Hielscher Folienversion: 23. November 2016

Richtlinien für das Design der KML Webseite. KML TP2, Informationsdienste

Inhalt. Seite 1 von 14

ALLGEMEINES WOMIT KANN ICH WEBSITES ERSTELLEN?

JavaScript II. Hochschule Karlsruhe Technik & Wirtschaft Internet-Technologien T3B250 SS2014 Prof. Dipl.-Ing. Martin Schober

Aufgaben der Klasse FTI33 HTML: 1. Durch welchen Befehl wird ein Hyperlink in einem Bestimmten Frame angezeigt?

Introduction to Technologies for Interaction Design. Stylesheets

Funktionen in JavaScript

Übung: Bootstrap - Navbar

CSS - Cascading Stylesheets

Publizieren im Internet

Einführung in HTML. Tutorium. Präsentation der Sitzung vom 2./9. Juni 2004 Martin Stricker

Online-Publishing mit HTML und CSS für Einsteigerinnen

3. Briefing zur Übung IT-Systeme

HTML Kurs für Anfänger. alfabm

jetzt lerne ich Webseiten programmieren und gestalten Einfache Beispiele mit HTML, CSS, Javascript, ASP und PHP

HTML. Hypertext Markup Language

Unterschied zwischen HTML & XHTML?

CSS-Klassen am Beispiel von List-Definitionen

7 Tabellen. 7.1 Erstellen einer Tabelle. - übersichtliches Gestalten von Websites - enorme Steigerung der Layoutmöglichkeiten durch Tabellen

Web-basierte Anwendungssysteme XHTML- CSS

HTML Cascading Style Sheets

Funktionen in JavaScript

12. Jgst. 3. Kursarbeit Datum: Fach: Informationsverarbeitung (Leistungskurs) & )!!*+,!- -.!-

Wert. { color: blue; }

Web-Publishing mit HTML

Aufbau einer Tabelle

HTML Programmierung. Aufgaben

CSS - Cascading Style Sheets

Einführung in HTML. Hui Dai

Scripting für Kommunikationswissenschaftler Gruppe C

Inhalt. 1 Mit CSS beginnen 1. 2 Textauszeichnungen und andere Grundlagen 13

<html> <head> <title> Die Welt der Bäume </title> </head> <body> Hier ensteht eine Seite über Bäume. </body> </html> Abb. 2

Informatik und Programmiersprachen

Ergänzungen zum HTML - Grundkurs

HyperTextMarkupLanguage

Stand und Ausblick

Ereignisse Auf Benutzereingaben reagieren

Kennen, können, beherrschen lernen was gebraucht wird

HTML und CSS. Eine kurze Einführung

Umsetzen einer skalierbaren horizontalen Navigation:

Funktionen nur wenn dann

Übung: Überschriften per CSS gestalten

Zeile 3-7: Der Kopf der HTML-Datei. Hier werden unsichtbare Einstellungen für das ganze Dokument vorgenommen.

Grundlagen zu HTML. Vortrag im Rahmen der BTK-Vorlesung von Herrn Professor Kärger

Seminar DWMX DW Session 004

«Integration in WebSite» HTML-/Javascript-Code-Beispiele

Kommentare <! Dies ist ein Kommentar > Zum Kommentieren von Inhalten oder Befehlen. Wird im Browser nicht angezeigt.

Übung zur Vorlesung Digitale Medien. Doris Hausen Ludwig-Maximilians-Universität München Wintersemester 2011/2012

Kurzanleitung. Zitiertil-Creator. Dokumentvorlagen Dokumente Formatvorlagen Format Zeichen Format Absatz

Wir studieren HTML-Tags

3. Briefing zur Übung IT-Systeme

HTML - Die Sprache des Internets. Grundlagen und Kurzprojekt

HTML: Text und Textstruktur mit CSS gestalten

Kurz FAQ - Typo3. Login zum Editieren

Vorlesungsinhalte. Internet und Webseiten-Gestaltung. Ausblick. Entwicklungsschritte

Schiller-Gymnasium Hof

Kennen, können, beherrschen lernen was gebraucht wird

3. Zeichen und Schrift

HTML-Grundlagen (X)HTML:


Funktionen nur wenn dann

Meine Fakultät. Alumni-Portal HTML-Seiten im Portal Seite 1 von 8

Abgabetermin: , 23:59 Uhr

HTML-Grundlagen. Die Layout- und Formatierungsanweisungen heißen Tags, z.b.

3 Ein bisschen JavaScript

JavaScript clientseitige Programmiersprache zur Dynamisierung von Internetseiten

HTML5, CSS3 und JavaScript 1.8. Fortgeschrittene Entwicklung von Webseiten. Isolde Kommer. 1. Ausgabe, 2. Aktualisierung, Dezember 2013 HTML5F

Zertifikatsprogramm der Oesterreichischen Computer Gesellschaft. OCG WebPublisher. Modul 2 Gestaltung von Webinhalten (HTML&CSS) Syllabus Version 1.

3. Zeichen und Schrift

3. Zeichen und Schrift

CSS Cascading Stylesheets

Das Einsteigerseminar

Stefan Münz/Wolfgang Nefzger. HTML Handbuch

Spreed Call Button. Kurzanleitung. 1 Übersicht Auswahl bzw. Erstellen einer Button-Grafik Konfiguration des Spreed Call Button...

Praxisbeispiel 01:18 Webformulare 07:39 Flexibles zweispaltiges Layout 05:24 Image-Replacement-Techniken 04:02

Transkript:

Workshop HTML, CSS Javascript Wien, April 2002 Bettina Kann

Inhalt: 1. Frames 3 2. BEREICHE <DIV-TAG> 7 3. CSS - Eine Einführung 9 4. Javascript-Einführung 16 2

1. Frames 1.1. Framesets Mit Hilfe von Frames können Sie den Anzeigebereich des Browsers in verschiedene, frei definierbare Segmente aufteilen. Jedes Segment kann eigene Inhalte enthalten. Die einzelnen Anzeigesegmente (also die Frames) können wahlweise einen statischen Inhalt (= "non scrolling regions") oder einen wechselnden Inhalt haben. Verweise in einem Frame können Dateien aufrufen, die dann in einem anderen Frame angezeigt werden. Frames werden ab Netscape 2.0 und ab MS Internet Explorer 3.0 unterstützt. Seit HTML 4.0 gehören die Frames auch zum offiziellen HTML-Standard. Die nebenstehende Abbildung zeigt ein typisches Beispiel für Frames Sie stellt den Inhalt des gesamten Anzeigefensters des Browsers schematisch dar. Das Anzeigefenster ist in drei unabhängige Bereiche aufgeteilt. Die Verweise links und unten können beispielsweise immer eingeblendet bleiben, während sich der Inhalt des Hauptfensters je nach ausgewähltem Verweis ändern kann. Dabei werden im Beispiel der Abbildung immer drei verschiedene HTML-Dateien gleichzeitig angezeigt: links und unten immer die gleiche Datei, im Hauptfenster jeweils eine wechselnde Datei, je nach ausgewähltem Verweis. Wenn Sie in einer HTML-Datei ein Frame-Set definieren, sieht das Grundgerüst der HTML-Datei folgendermaßen aus: <html> <head> <title>frame-test</title> </head> <frameset...>... Frame-Definitionen... </frameset> <body> Dieser Text wird angezeigt, wenn der Browser keine Frames kennt </body> </html> Beim Definieren von Frame-Sets bestimmen Sie, wie das Anzeigefenster aufgeteilt werden soll. Bsp.1: <frameset rows="20%,80%">... Dadurch ergeben sich zwei Frames, deren Inhalt hier bestimmt wird... </frameset> 3

Bsp. 2: <frameset cols="200,*">... Dadurch ergeben sich zwei Frames, deren Inhalt hier bestimmt wird... </frameset> Bsp.3: <frameset cols="40%,60%">... Zwei Frames, wobei der Inhalt des ersten Frames hier bestimmt wird... <frameset rows="20%,80%">... Noch mal zwei Frames, deren Inhalt hier bestimmt wird... </frameset> </frameset> Nachdem Sie durch die Definition von Frame-Sets geeignete Bereiche des Anzeigefensters bestimmt haben, geben Sie mit der Definition der Frames an, welche HTML-Dateien in den einzelnen Bereichen zunächst angezeigt werden sollen. <frameset cols="40%,60%"> <frame src="verweise.htm" name="linkesfenster"> <frameset rows="20%,80%"> <frame src="titel.htm" name="hauptfenster"> <frame src="control.htm" name="unteresfenster"> </frameset> </frameset> Ferner sollten Sie für jeden definierten Frame mit name= einen Namen vergeben. Diese Namen brauchen Sie, um Verweise zu anderen Frames zu definieren. Namen für Frames müssen in Anführungszeichen stehen, dürfen nicht zu lang sein und nur aus Buchstaben, Ziffern und Unterstrichen bestehen. Folgende Namen haben eine spezielle Bedeutung und dürfen nicht als normale Fensternamen verwendet werden: _self, _blank, _parent und _top. Scrollbars (Bildlaufleisten) erzwingen/verhindern: <frame src="titel.htm" name="rechts" scrolling=yes> Durch die Angabe scrolling=yes im Definitions-Tag eines Frames erzwingen Sie, daß das Anzeigefenster des Frames in jedem Fall Scrollbars besitzt. Durch scrolling=no verhindern Sie dies. Mindestabstände zwischen Fensterrand und Fensterinhalt 4

<frame src="verweise.htm" name="links" marginwidth=0 marginheight=0> Durch das Attribut marginwidth= [Pixel] im Definitions-Tag eines Frames bestimmen Sie den Abstand zwischen rechtem bzw. linkem Fensterrand und dem Fensterinhalt (margin = Rand, width = Breite). Durch das Attribut marginheight= [Pixel] bestimmen Sie den Abstand zwischen oberem bzw. unterem Fensterrand und dem Fensterinhalt (height = Höhe). Linke und rechte Ränder sind immer gleich groß, ebenso obere und untere. Sie können zu beiden Werten Angaben machen, aber auch nur zu einem der beiden. Mit den Angaben marginwidth=0 marginheight=0 sollte der Fensterinhalt exakt in der linken oberen Ecke beginnen. Leider fügt Netscape bei der Anzeige doch immer noch ein Pixel "Seitenrand" ein. Unveränderbare Fenstergröße Bsp: <frame src="verweise.htm" name="links" noresize> Durch das Attribut noresize im Definitions-Tag eines Frames verhindern Sie, daß der Anwender die Größe des Frame-Fensters verändern kann Rahmendicke bzw. unsichtbare Fensterrahmen Um die Rahmen beim Internet Explorer und bei Netscape zu unterdrücken, müssen Sie alle drei Angaben frameborder=0 framespacing=0 border=0 notieren. Farbige Fensterrahmen <frameset cols="40%,60%" bordercolor=#ff0000> Mit der Angabe bordercolor= im obersten <frameset>-tag können Sie eine Rahmenfarbe für alle Fensterrahmen bestimmen. Verweise zu anderen Frames Wenn Sie mit Frame-Sets arbeiten, werden Sie häufig in einem Frame-Fenster Verweise anbieten wollen, bei derem Anklicken das Verweisziel in einem anderen Frame-Fenster angezeigt werden soll. Bsp. Teil 1 - Datei mit Frame-Definitionen: <html> <head> <title>verweise</title> </head> <frameset cols="200,*"> <frame src="verweise.htm" name="links"> <frame src="titel.htm" name="rechts"> </frameset> </html> Bsp. Teil 2 - Datei verweise.htm: <html> <head> <title>verweise</title> </head> <body> <a href="news.htm" target="rechts">neuigkeiten</a> </body> </html> Voraussetzung für Verweise zu anderen Frames ist, daß die Frame-Fenster eines Frame-Sets Namen erhalten. Im obigen Beispiel wird ein Frame-Set mit zwei Frame- 5

Fenstern definiert, die mit dem Attribut name= im <frame>-tag die Namen links und rechts erhalten. Für das Setzen eines Verweises zu einem anderen Frame-Fenster gilt das Schema für Verweise in HTML. Damit das Verweisziel in einem anderen Frame-Fenster angezeigt wird, notieren Sie im einleitenden Verweis-Tag zusätzlich das Atrribut target= (target = Ziel). Dahinter folgt der Name des Frame-Fensters, in dem das Verweisziel angezeigt werden soll. Der Name muß in Anführungszeichen stehen. Der Name, den Sie bei target= angeben, muß exakt mit dem Namen übereinstimmen, der bei der Frame-Definition mit name= vergeben wurde. Verweise, die ein Frame-Set beenden Wenn Sie mit Frame-Sets arbeiten, werden Sie in einem Frame-Fenster manchmal auch Verweise anbieten wollen, bei derem Anklicken das Verweisziel nicht mehr in Ihrem Frame-Set angezeigt werden soll. Besonders bei Verweisen zu fremden WWW-Projekten ist es angebracht, das eigene Frame-Set zu beenden. Dazu gibt es mehrere Möglichkeiten. target="_blank" bewirkt, daß das Verweisziel in einem neuen Instanzfenster des WWW-Browsers angezeigt wird. Das Anzeigefenster mit Ihrem Frame-Set bleibt im Hintergrund erhalten. Der Anwender kann wieder zu diesem Fenster wechseln, wenn er möchte. target="_parent" bewirkt, daß das Verweisziel in dem Zustand des Anzeigefensters angezeigt wird, der vor dem Start Ihres Frame-Sets aktuell war. target="_top" bewirkt, daß das Verweisziel in jedem Fall im gesamten Anzeigefenster angezeigt wird. 6

2. BEREICHE <DIV-TAG> Bereiche mit mehreren Elementen Bereiche mit mehreren Elementen definieren Sie können mehrere Absätze, bestehend aus ganz verschiedenen Elementen wie Text, Grafiken, Tabellen usw., in einen gemeinsamen Bereich einschließen. Diesen Bereich können Sie dann gemeinsam ausrichten. Beispiel: <div align=center> <h1>der Mond - eine Überschrift</h1> <img src="mond.jpg" align=middle> Ein Bild vom Mond <p>ein erklärender Text zum Mond, und alles wird zentriert</p> </div> <div align=right> <i>&copy 1997 by Josua Piesepampel</i> </div> Erläuterung: Mit <div> leiten Sie einen Bereich ein, in den Sie mehrere Elemente einschließen können (div = division = Bereich). Alles, was zwischen diesem Tag und dem abschließenden </div> steht, wird als Teil des Bereichs interpretiert. Einen solchen Bereich und alle seine enthaltenen Elemente können Sie mit dem Atrribut align= im einleitenden <div>-tag ausrichten. Mit align=center richten Sie den Bereich mit allen seinen Elementen zentriert aus (align = Ausrichtung, center = zentriert), mit align=right rechtsbündig (right = rechts). Mit align=justify werden innere Elemente wie freistehender Text, Textabsätze oder Überschriften als Blocksatz ausgerichtet. Mit align=left erzwingen Sie die linksbündige Ausrichtung von Elementen (Voreinstellung). Weitere Möglichkeiten Wenn Sie HTML bereits etwas besser kennen, probieren Sie auch mal die Möglichkeiten aus, die Ihnen CSS Style-Sheets bieten. Denn gerade das sehr allgemeine <div>-tag ist geradezu prädestiniert dafür, um mit Hilfe von Style-Sheets zum Leben erweckt zu werden. Dazu müssen Sie zunächst wissen, wie man Style-Sheets definieren kann. Anschließend sind Sie in der Lage, Style-Sheet-Angaben anzuwenden. Auf das <div>-tag können Sie beispielsweise folgende Style-Sheet- Angaben anwenden: Schriftformatierung 7

Abstände, Ränder, Ausrichtung Rahmen und Innenabstände Hintergrundfarben und -bilder Elemente positionieren Mehrspaltiger Textfluß 8

3. CSS - Eine Einführung Style Sheets CSS (Cascading Style Sheets) ist ein W3 Standard, der es erlaubt, HTML-Elemente exakt zu formatieren. Die CSS-Sprache klinkt sich nahtlos in HTML ein und ermöglicht es, das Aussehen von Absätzen, Tabellen oder Ähnlichem nach Belieben zu gestalten. Egal, ob man nur einmal einen auffälligen Schriftzug ohne Grafik gestalten will oder ein einheitliches Layout für hunderte von Webseiten braucht, dafür ist CSS eine ideale Ergänzung zu HTML. Möglichkeit 1: Style-Definitionen im Head der Html-Datei: Sie können innerhalb einer HTML-Datei einen Bereich für Style-Sheet-Angaben definieren. <html> <head> <title>titel der Datei</title> <style type="text/css"> /*... Style-Sheet-Angaben... */ </style> </head> <body> </body> </html> Die Style-Definitionen werden durch das <style>-tag eingeleitet. wichtig ist das Attribut type="text/css". Das ist der Mime-Typ für CSS; der Browser weiß dadurch, daß die folgenden Style-Definitionen zur CSS-Sprache gehören. Zwischen dem einleitenden Tag und dem abschließenden </style> können Sie dann die eigentlichen Style-Sheet-Angaben definieren. Es ist sinnvoll die Angaben in einen mehrzeiligen HTML-Kommentar mit und dem End-Tag einzubinden. Möglichkeit 2: Style-Definitionen in einer separaten Datei: In vielen Fällen werden Sie einheitliche Formate für alle HTML-Dateien Ihres Projekts haben wollen. In diesem Fall brauchen Sie die Angaben nicht in jeder Datei zu wiederholen. Stattdessen können Sie die Style-Sheet-Angaben in einer separaten Textdatei notieren und diese Datei einfach in jeder gewünschten HTML-Datei 9

einbinden. Wenn Sie die Angaben in der separaten Datei ändern, wirken sich die Änderungen einheitlich auf alle Dateien aus, in denen diese separate Datei eingebunden ist. <html> <head> <title>titel der Datei</title> <link rel=stylesheet type="text/css" href="formate.css"> <style type="text/css">... Extra-Style-Sheet-Angaben... </style> </head> <body> </body> </html> Mit dem HTML-Tag <link...> wird eine Datei referenziert, die Style-Sheet-Angaben enthält. Innerhalb dieses Befehls sollten immer die Angaben rel=stylesheet type="text/css" stehen (rel = relation= Bezug, type = Typ). Mit href= können Sie die gewünschte Datei angeben.wenn sich die CSS-Datei in einem anderen Verzeichnis oder auf einem anderen Server befindet, müssen Sie mit relativen Pfadangaben oder absoluten URL-Adressen arbeiten. Bei der referenzierten Datei muß es sich um eine reine Textdatei handeln, die die Endung.css haben sollte. Die Datei sollte nichts anderes als Formatdefinitionen enthalten, also auch keine HTML-Befehle. Möglichkeit 3: Style-Definitionen "on the fly" = Einzelne HTML-Tags formatieren <html> <head> <title>titel der Datei</title> </head> <body> <div style="background-color:#ffffe0"> <h1 style="color:red; font-size:36pt;">überschrift 1. Ordnung</h1> <p style="margin-left:1.5cm;">ein Textabsatz</p> </div> </body> </html> 10

Formate für HTML-Tags definieren <html> <head> <title>titel der Datei</title> <style type="text/css"> h1 { font-size:48pt; color:#ff0000; font-style:italic; } p,li { font-size:12pt; line-height:14pt; font-family:helvetica,arial; letter-spacing:0.2mm; word-spacing:0.8mm; } </style> </head> <body> <h1>überschrift 1. Ordnung</h1> <p>ein normaler Textabsatz</p> <ul> <li>ein Listenpunkt <li>ein anderer Listenpunkt </ul> </body> </html> Im obigen Beispiel werden die HTML-Tags h1(überschrift 1. Ordnung), p (Textabsatz) und li (Listeneintrag) formatiert. Wenn Sie gleichartige Formate für mehrere HTML-Tags definieren wollen, geben Sie alle gewünschten Tags an und trennen Sie diese durch Kommata, so wie im obigen Beispiel p,li. Es bedeutet also das gleiche: h1 { font-family:helvetica } h2 { font-family:helvetica } oder: h1, h2 { font-family: Helvetica } Dahinter folgen die dazugehörigen, gewünschten Formatdefinitionen, und zwar in geschweiften Klammern. Innerhalb solcher geschweifter Klammern können Sie eine oder mehrere Formateigenschaften definieren. Jede Eigenschaftszuweisung besteht aus einem Namen, z.b. color und einem Wert, z.b. #FF0000, getrennt durch einen Doppelpunkt. Schließen Sie jede Formatdefinition jeweils durch einen Strichpunkt ab. Nur bei der letzten Formatdefinition vor der abschließenden geschweiften Klammer darf der Strichpunkt entfallen. Maßeinheiten, Farbangaben, feste Angaben für Style-Sheets Numerische Angaben Bei allen numerischen Angaben innerhalb von CSS-Style-Sheets, also etwa bei Schriftgrößen, Absatzabständen oder Rändern, stehen alle weit verbreiteten Maßeinheiten zur Verfügung. Dabei sind absolute Angaben (z.b. Millimeter) und relative Angaben (z.b. Prozent gegenüber "normal") möglich. 11

Absolute Angaben: pt für Punkt (= 1/72 inches) pc für Pica (= 12 Punkt) in für Inch (= 2,54 cm) mm für Millimeter cm für Zentimeter Relative Angaben: em für "bezogen auf elementeigene Schrifthöhe" ex für "bezogen auf elementeigene Höhe des Buchstabens x" px für Pixel (relative Angabe im Hinblick auf die unterschiedlichen Bildschirmauflösungen bei den Anwendern) % für Prozent gegenüber Elementnorm Benutzen Sie bei numerischen Bruchzahlen stets den Punkt als Dezimalzeichen!!!!! Farbangaben Sie können Farbwerte hexadezimal nach dem Schema #XXXXXX angeben, aber auch die verbreiteten Farbnamen verwenden bzw. die Angaben nach dem rgb- Schema machen. rgb(rrr,ggg,bbb). Hintergrundfarbe: background-color:#xxxxxx Hintergrundgrafik: background-image:url([dateiname]) Mit background-position: können Sie festlegen, wo die linke obere Ecke der Hintergrundgrafik sein soll. Bezugspunkt ist das HTML-Element, für das die Hintergrundgrafik definiert wird. Pseudo-Formate für Verweise (:link, :visited, :active) <style type="text/css"> a:link { color:#ff0000; font-weight:bold } a:visited { color:#990000; } a:active { color:#0000ff; font-style:italic } </style> 12

Klassen <style type="text/css"> p.default {font-size:12pt;color:black;} p.help {font-size:10pt;color:blue;} p.hervorgehoben {font-size:16pt;color:red;} </style> In obigem Bsp. ist p die Klasse, dann folgt ein Punkt und dahinter der Name für die Unterklasse, der frei wählbar ist. Diese Klassen/Unterklassen werden dann im HTML- Dokument wie folgt angesprochen: <body> <p class="default">da kommt der Standardabsatz</p> <p class="help">hier steht der Hilfetext</p> <p class="hervorgehoben">hervorgehobener Textabsatz</p> </body> Definition einer leeren Klasse: <style type="text/css"> all.gelb {color:yellow;}.gruen {color:green;} </style> Eine leere Klasse wird mit all. und dem frei wählbaren Klassennamen definiert. In der geschweiften Klammer notieren Sie die Formatierung. Das Schlüsselwort "all" kann man auch weglassen, also statt all.gruen reicht auch.gruen. Diese Formatierung, die einer leeren Klasse übergeben wird, kann man dann auf jedes beliebige HTML- Tag anwenden. <body> <h1 class="gelb">gelbe Überschrift</h1> <h2 class="gruen">grüne Überschrift</h2> </body> 13

Abhängige Formate: Man kann mit Style-Sheets bestimmen, daß ein HTML-Tag bestimmte Eigenschaften nur dann annimmt, wenn es innerhalb eines anderen Tags vorkommt. Im folg. Bsp. wird definiert, daß <i> </i> innerhalb von Überschriften nicht kursiv sondern blau dargestellt wird, während der gleiche Befehl innerhalb anderer Tags weiterhin kursiv dargestellt wird. <style type="text/css"> h1 {color:red;} h1 i {color:blue;font-weight:normal;} </style> Rekurs: Das <DIV>-Tag: Sie können mehrere Absätze, bestehend aus ganz verschiedenen Elementen wie Text, Grafiken, Tabellen usw., in einen gemeinsamen Bereich einschließen. Diesen Bereich können Sie dann gemeinsam ausrichten. Mit <div> leiten Sie einen Bereich ein, in den Sie mehrere Elemente einschließen können (div = division = Bereich). Alles, was zwischen diesem Tag und dem abschließenden </div> steht, wird als Teil des Bereichs interpretiert. Bereiche mit <span> formatieren <html> <head> <title>titel der Datei</title> </head> <body> <h1>überschrift 1. Ordnung mit <span style="color:blue;">blauem Text</span></h1> <p>normaler Textabsatz mit <span style="font-style:italic; color:red;">rotem kursiven Text</span></p> </body> </html> Mit <span style=...>... </span> können Sie Textabschnitte innerhalb anderer HTML- Tags nach Belieben formatieren. Positionieren von Elementen Ab der CSS-Version 2.0 gibt es verschiedene Style-Sheet-Angaben, um Elemente einer WWW-Seite exakt im Anzeigefenster des WWW-Browsers zu positionieren und die Position von Elementen untereinander genau zu kontrollieren. Dazu gehören Angaben zum absoluten 14

und relativen Positionieren von Elementen, Angaben zur Ausdehnung von Elementen, Angaben zum Umfließen von Elementen und Angaben zum Überlappen und Anzeigen von Elementen. Absolutes und relatives Positionieren von Elementen bietet die Möglichkeit, das Erscheinungsbild von WWW-Seiten stärker bildschirmorientiert zu gestalten. So können Sie für einzelne Bereiche festlegen, wo genau diese Bereiche beginnen sollen. Bereiche können sich überlappen usw. <div style="position:absolute; top:100px; left:45px; width:300px">inhalt</div> Mit position: können Sie die Positionsart bestimmen. Folgende Angaben sind erlaubt: absolute = absolute Positionierung, gemessen am Fensterrand, aber scrollbar. relative = relative Positionierung, gemessen am Vorgänger-Element. static = keine spezielle Positionierung, normaler Elementfluß (Normaleinstellung). Schichtposition bei Überlappung (z-index) Diese Angabe ist sinnvoll in Verbindung mit mehreren Angaben zur Positionierung (position). Wenn Sie mehrere Elemente absolut positionieren, deren Anzeigebereiche sich überlappen, werden die Elemente normalerweise in der Reihenfolge übereinander angezeigt, in der sie definiert werden. Sie können die Reihenfolge ändern, indem Sie für die einzelnen Elemente Nummern vergeben. Elemente mit höherer Nummer überdecken Elemente mit niedrigerer Nummer. <div style="position:absolute; top:10mm; left:10mm; z-index:1"> Dieser Text kommt als dritter </div> <div style="position:absolute; top:12mm; left:20mm; z-index:3"> Dieser Text kommt als erster </div> <div style="position:absolute; top:14mm; left:30mm; z-index:2"> Dieser Text kommt als zweiter </div> Mit z-index: können Sie die Reihenfolge von überlappenden Elementen bestimmen. 15

4. Javascript-Einführung JavaScript ist kein direkter Bestandteil von HTML, sondern eine eigene Sprache. Diese Sprache wurde jedoch eigens zu dem Zweck geschaffen, HTML-Autoren ein Werkzeug in die Hand zu geben, mit dessen Hilfe sich WWW-Seiten optimieren lassen. JavaScript-Programme werden wahlweise direkt in der HTML-Datei oder in separaten Dateien notiert. Sie werden nicht - wie etwa Java-Programme - compiliert, sondern als Quelltext zur Laufzeit interpretiert, also ähnlich wie Batchdateien bzw. Shellscripts. Dazu besitzen moderne WWW-Browser wie Netscape oder Microsoft Internet Explorer entsprechende Interpreter-Software. Bevor Sie daran gehen, neuen, eigenen JavaScript-Code zu programmieren, müssen Sie sich exakt darüber im klaren sein, welches Problem Sie damit lösen wollen. Dazu müssen Sie erst einmal wissen, was man mit HTML selbst alles machen kann, und wo die Grenzen von HTML liegen. Von JavaScript müssen Sie dann so viel wissen, daß Sie entscheiden können, ob das Problem mit JavaScript überhaupt lösbar ist. Mit JavaScript können Sie z.b. nicht die typischen Aufgaben von CGI-Scripts lösen! Ferner sollten Sie sich im WWW umsehen, ob es nicht schon frei verfügbare JavaScript-Beispiele gibt, die genau Ihr Problem lösen. Denn es ist immer besser, auf Code zurückzugreifen, der sich in der Praxis bereits bewährt hat, als neuen Code zu erstellen, dessen "heimliche Tücken" einem noch nicht bekannt sind. In vielen Fällen genügt es, vorhandene JavaScripts den eigenen Erfordernissen anzupassen. JavaScript-Bereiche in HTML definieren Für JavaScript-Programmabschnitte können Sie in HTML Bereiche definieren. <html><head><title>test</title> <script language="javascript"> </script> </head><body> </body></html> Mit <script language="javascript"> leiten Sie einen Bereich für JavaScript innerhalb einer HTML-Datei ein (script = Quelltext, language = Sprache). Dahinter - am besten in der nächsten Zeile - sollten Sie mit einen Kommentar einleiten. Dadurch erreichen Sie, daß ältere WWW-Browser, die JavaScript nicht kennen, den folgenden JavaScript-Code ignorieren und nicht irrtümlich als Text innerhalb der HTML-Datei interpretieren. Am Ende eines JavaScript-Bereichs schließen Sie mit den Kommentar und mit </script> den Bereich für den Programmcode. Unser erstes Javascript: <html><head><title>test</title> <script language="javascript"> window.alert("hallo Welt!"); 16

</script> </head><body> </body></html> Im obigen Beispiel wird mit Hilfe von JavaScript ein Meldungsfenster mit dem Text "Hallo Welt!" am Bildschirm ausgegeben. Anweisungen notieren: Eine Anweisung in JavaScript besteht immer aus einem Befehl, der mit einem Strichpunkt ; abgeschlossen wird. Objekte, Eigenschaften und Methoden Objekte sind fest umgrenzte Datenelemente mit Eigenschaften und oft auch mit objektgebundenen Funktionen (Methoden). Daß JavaScript eine Erweiterung von HTML darstellt, liegt vor allem an den vordefinierten Objekten, die Ihnen in JavaScript zur Verfügungstehen. Ein Objekt kann eine Teilmenge eines übergeordneten Objekts sein. Die JavaScript-Objekte sind deshalb in einer Hierarchie geordnet. Das hierarchiehöchste Objekt ist in JavaScript das Fenster- Objekt (window). Fenster haben Eigenschaften wie einen Titel, eine Größe usw. Der Inhalt eines Fensters ist das nächstniedrigere Objekt, nämlich das im Fenster angezeigte Dokument (in JavaScript das Objekt document). In der Regel ist der Fensterinhalt eine HTML-Datei. Eine solche Datei kann bestimmte, durch HTML- Tags definierte Elemente enthalten, wie zum Beispiel Formulare, Verweise, Grafikreferenzen usw. Für solche untergeordneten Elemente gibt es wieder eigene JavaScript-Objekte, zum Beispiel das Objekt forms für Formulare. Ein Formular besteht seinerseits aus verschiedenen Elementen, zum Beispiel aus Eingabefeldern, Auswahllisten oder Buttons zum Absenden bzw. Abbrechen. In JavaScript gibt es dafür ein Objekt elements, mit dem Sie einzelne Felder und andere Elemente innerhalb eines Formulars ansprechen können. Objekteigenschaften sprechen Sie an, indem Sie zuerst den Namen des Objekts notieren, dahinter einen Punkt, und dahinter den Namen der Eigenschaft. Dabei sind keine Leerzeichen erlaubt! Objekten können Methoden haben. Das sind Funktionen, die Aktionen ausführen, aber im Gegensatz zu alleinstehenden Funktionen an ein bestimmtes Objekt gebunden sind. Viele vordefinierte JavaScript-Objekte haben Methoden. In unserem Beispiel ist alert die Methode zum window-objekt. Funktion definieren Mit Hilfe von Funktionen können Sie eigene, in sich abgeschlossene JavaScript- Prozeduren programmieren, die Sie dann über den Aufruf der Funktion ausführen können. Dabei können Sie bestimmen, bei welchem Ereignis (zum Beispiel, wenn der Anwender einen Button anklickt) die Funktion aufgerufen und ihr Programmcode ausgeführt wird. JavaScript-Code, der nicht innerhalb einer Funktion steht, wird beim Einlesen der Datei vom WWW-Browser sofort ausgeführt! Eine Funktion ist ein Anweisungsblock. Ein Anweisungsblock wird durch eine öffnende geschweifte Klammer { begonnen und durch eine schließende geschweifte Klammer } beendet. Jede Anweisung muß durch ; abgeschlossen werden. 17

Unser erstes Script wird erweitert: <html><head><title>test</title> <script language="javascript"> function Ergebnis() { window.alert(document.eingabeformular.feld1.value); } </script> </head><body>unser erstes Script wird erweitert <form name="eingabeformular"> <input type="text" name=feld1> <input type="button" name="button" value="stringausgabe" onclick="ergebnis()"> </form> </body></html> Event-Handler: Event-Handler erkennen Sie daran, daß solche HTML-Attribute immer mit on beginnen, zum Beispiel onclick=. Hinter dem Istgleichzeichen notieren Sie - in Anführungszeichen, eine JavaScript-Anweisung. Wenn Sie mehrere Anweisungen ausführen wollen, dann definieren Sie sich dazu am besten in einem JavaScript- Bereich eine Funktion und rufen hinter dem Istgleichzeichen diese Funktion auf, also z.b.onclick="ergebnis()". Jeder Event-Handler steht für ein bestimmtes Anwenderereignis, onclick= etwa für das Ereignis "Anwender hat mit der Maus geklickt". Der Anzeigebereich des HTML- Elements, in dem der Event-Handler notiert ist, ist das auslösende Element dabei. Wenn der Event-Handler onclick= beispielsweise in einem Formularbutton notiert wird, wird der damit verknüpfte JavaScript-Code nur dann ausgeführt, wenn der Mausklick im Anzeigebereich dieses Elements erfolgt. Die Formularüberprüfung: Beispiel: <html><head><title>test</title> <script language="javascript"> function Ergebnis() { if (document.eingabeformular.feld1.value=="") { window.alert("sie haben nichts eingegeben"); } else { window.alert(document.eingabeformular.feld1.value); } } </script> </head><body>unser erstes Script wird erweitert <form name="eingabeformular"> <input type="text" name=feld1> <input type="button" name="button" value="stringausgabe" onclick="ergebnis()"> </form> </body></html> 18

Die if/else Bedingung: Mit if leiten Sie eine Wenn-Dann-Bedingung ein (if = wenn). Dahinter folgt, in Klammern stehend, die Formulierung der Bedingung. Um solche Bedingungen zu formulieren, brauchen Sie Vergleichsoperatoren und in den meisten Fällen auch Variablen. Für Fälle, in denen die Bedingung nicht erfüllt ist, können Sie einen "andernfalls"-zweig definieren. Dies geschieht durch else (else = sonst). Der Else-Zweig ist nicht zwingend erforderlich. Wenn Sie mehr als eine Anweisung unterhalb und abhängig von if oder else notieren wollen, müssen Sie die Anweisungen in geschweifte Klammern einschließen. Variablen: Variablen sind Speicherbereiche, in denen Sie Daten, die Sie im Laufe Ihrer Programmprozeduren benötigen, speichern können. Der Inhalt, der in einer Variablen gespeichert ist, wird als "Wert" bezeichnet. Sie können den Wert einer Variablen jederzeit ändern. Um mit Variablen arbeiten zu können, müssen Sie die benötigten Variablen zuerst definieren. <html><head><title>test</title> <script language="javascript"> function Ergebnis() { var Meinezahl; Meinezahl=parseInt(document.Eingabeformular.Feld1.value); window.alert(meinezahl*2); } </script> </head><body>unser erstes Script wird erweitert <form name="eingabeformular"> <input type="text" name=feld1> <input type="button" name="button" value="berechnung" onclick="ergebnis()"> </form> </body></html> 19