pdf

Werbung
Literatur
[4-1]
Münz, Stefan: SelfHTML 8.1.2
http://aktuell.de.selfhtml.org/extras/download.shtml
Etwas veraltet, aber immer noch sehr gut
[4-2] Robbins, Jennifer: HTML&XHTML kurz&gut. 4. Auflage, O'Reilly, 2010
[4-3]
Hess, Uwe; Günther, Karl: html 4. bhv-Taschenbuch, 2. Auflage, 2002
[4-4]
Tolksdorf, Robert: Die Sprachen des Web: html & XHTML. dpunkt, 4.
Auflage, 2000
[4-5]
Kloss, Birgit: CSS und DHTML. Markt + Technik, 2002
[4-6]
Lubkowitz, Mark: Webseiten programmieren und gestalten. Galileo
Computing, 2003, Teil 2
[4-7]
Münz, Stefan: <professionelle Websites>. Addison-Wesley, 2005
[4-8]
http://www.w3.org/TR/xhtml1/
[4-9]
https://de.wikipedia.org/wiki/Extensible_Hypertext_Markup_Language
Webtechnologien – WS 2016/17 - Teil 4/HTML I
2
Übersicht
• Geschichte von HTML
• Ziele von HTML und XHTML
• Grundlagen
– Kopfteil
– Body
– Tabellen
Webtechnologien – WS 2016/17 - Teil 4/HTML I
3
Geschichte
• HTML 1, 1990
• HTML 2, 1995, RFC 1866
Vieles nie implementiert, anderes zusätzlich realisiert
• HTML 3.2, 1997
Tabellen, Auszeichnungen
• HTML 4.01, 1998
Style Sheets (CSS), Einbindung von Scripts, Unicode
• XHTML = XML + HTML, ab 1995
• HTML 5, ab 2010
Nicht vollständig standardisiert.
Ein vollständiger Standard wird 2017 erwartet.
Webtechnologien – WS 2016/17 - Teil 4/HTML I
4
Kompatibilität I
• Es bestimmen die Browser, was HTML ist und welche Bedeutung ein
bestimmtes Konstrukt hat.
• Da jeder implementieren kann, was er will, und das auch leider tut,
gibt es viele Inkompatibilitäten.
• Hier wird XHTML 1.0, HTML 4.01 und HTML 5 betrachtet.
Wer Web-Sites für Desktop-Rechner baut, muss leider seine Seiten
mit folgenden Browsern testen:
Windows
Macintosh
Unix/Linux
Ab Explorer 9
Wie Windows
Ab Firefox 3.*
Ab Opera 7.*
Ab Firefox 3.*
Ab Opera 7.*
Ab Chrome 10.*
Lynx 2
Ab Safari 5.*
Ab Chrome 10.*
Lynx 2
Siehe auch: http://caniuse.com
Webtechnologien – WS 2016/17 - Teil 4/HTML I
5
Kompatibilität II – Beispiel aus http://caniuse.com
http://caniuse.com/#feat=inline-block
Webtechnologien – WS 2016/17 - Teil 4/HTML I
6
Kompatibilität III
• Wenn sich eine Site von "allein" im Layout an die Größe des
Ausgabegeräts anpassen kann, dann wird vom Responsive
Design gesprochen.
• Das Testen wird dann noch schlimmer, da mit den Browsern
auf den mobilen Endgeräten getestet werden muss; denn dann
kommen noch Android, iOS und Windows Phone hinzu.
Test auf html 4/xhtml 1.0/HTML 5-Kompatibilität:
http://validator.w3.org
http://www.validome.org/
http://www.w3schools.com/website/web_validate.asp
http://schneegans.de/sv/
http://jigsaw.w3.org/css-validator/
http://aktuell.de.selfhtml.org/artikel/server/validator/
Webtechnologien – WS 2016/17 - Teil 4/HTML I
7
Validatoren
Webtechnologien – WS 2016/17 - Teil 4/HTML I
8
Grammatik in den Foliensätzen
• Syntaktische Abschnitte werden hier in einer Pseudo-BNF
dargestellt:
– Worte in Normalschrift sind terminale Symbole
(terminal bedeutet direkt zur Sprache gehörig)
– Worte in Kursiv sind nonterminale Symbole
(nonterminal bedeutet Name einer Regel)
– Worte geklammert in eckigen Klammern sind optional
– Drei Punkte ... bedeuten beliebiger Text, der keine eigene Bedeutung in
HTML bzw. im betroffenen Kontext hat.
• Um alles etwas einfacher zu machen, werden nicht immer alle
optionalen Teile eines Elementes aufgeführt.
• Die folgenden Abschnitte beschreiben HTML daher nicht vollständig.
Webtechnologien – WS 2016/17 - Teil 4/HTML I
9
Erläuterungen zur Grammatik
• Grammatik = Regelsystem, das den syntaktischen Aufbau einer
Sprache (im Sinne der Informatik) bestimmt
• Terminale Symbole = Zeichenketten, die zur Sprache selbst
gehören und daher so wie ausgedrückt benutzt werden müssen
• Nonterminale Symbole = Namen von Regeln, also
Zeichenketten, die nur zur Grammatik, aber nicht zur Sprache
gehören
Diese müssen durch andere Texte, die Terminale Symbole sind,
ersetzt werden
• BNF = Backus-Naur-Form = Bestimmte Form einer
Grammatikdefinition
(benannt zu Ehren der beiden "Erfinder" Backus und Naur)
Siehe: http://de.wikipedia.org/wiki/Backus-Naur-Form
Webtechnologien – WS 2016/17 - Teil 4/HTML I
10
Ziele von HTML I
• HTML ist (eigentlich) eine Auszeichnungssprache.
Diese definiert ein abstraktes Layout ohne Festlegung der
Umsetzung in eine Präsentation; es wird nur die Funktion oder die
Rolle eines Textstücks beschrieben.
• Layout = (hier:) Regeln zur Kombination und für Werte von
graphischen Attributen von Elementen, z.B.:
–
–
–
–
Zeichengröße, Schriften
Farben, Farbverläufe
Größe
Umrahmungen
Diese Regeln befassen sich mit der Präsentation, also der extern
wahrnehmbaren Darstellung.
• Software zur Präsentation macht aus Daten bzw. Anweisungen und
den Layoutregeln eine konkrete Seite.
Webtechnologien – WS 2016/17 - Teil 4/HTML I
11
Ziele von HTML III
• Ein wichtiges Ziel des W3C ist die Mehrsprachlichkeit.
Dies betrifft:
– Wahl landes-/sprachspezifischer Kodierungen, z. B. Russisch
– Wahl der Anordnung der Zeichen auf einer Seite (Leserichtung)
– Wahl der Anordnung der Seiten (von Vorne nach Hinten oder
umgekehrt)
• Ein weiteres Ziel ist der erleichterte Zugang von Menschen mit
Behinderungen.
Ein gutes Beispiel: http://www.zignoo.com/
Siehe auch: http://www.biene-award.de/ausschreibung/
Webtechnologien – WS 2016/17 - Teil 4/HTML I
13
Grundlagen der Syntax I
• Tag = Marke = Etikett = Zeichenkette innerhalb von <>
• Container-Elemente haben neben dem Inhalt ein Start- und ein
Ende-Tag:
Start: <xyz> Ende: </xyz> mit xyz als Tag-Name
– Die Wirkung des Tags bezieht sich auf den umschlossenen Bereich.
– Diese Tags können geschachtelt werden, wobei die Wirkung von außen
nach innen vererbt wird.
– Innere Bereiche überdecken Äußere Bereiche (wie bei der Vererbung).
• Elemente ohne Inhalt haben am Ende den Slash: <xyz />
• Beispiele:
<em> ... </em>
<body> ... </body>
Webtechnologien – WS 2016/17 - Teil 4/HTML I
14
Grundlagen der Syntax II
• Die Tag-Namen werden klein geschrieben.
• Unbekannte Tags werden normalerweise von den Browsern
ignoriert, sofern sie der generellen Syntax von XHTML
entsprechen.
• Attribute = Zusatzbestimmungen innerhalb eines Tags
– Aufbau: key=value, wobei value ein String umschlossen von " ist.
– Listen von Attributen werden in mit Leerzeichen als Trennzeichen
zusammengefügt.
– Hat ein Attribut keinen Wert, so wird es key="key" geschrieben.
– Die Namen von Attributen werden immer klein geschrieben.
Beispiele:
<img src="logo.gif" />
<link rel="Glossary" href="URL"/>
<hr noshade="noshade" />
15
Webtechnologien – WS 2016/17 - Teil 4/HTML I
Werte und Einheiten
Typ
Beispiel
Werte in Pixel
width="36"
Werte relativ zum Umfeld
width="30%"
Fließkommazahl mit Einheit
width="1.7in"
Einheiten (Auszug)
pt
Punkt
in
Inch, Zoll
cm
em
Höhe des Fonts (Zeichen M)
em ist eine relative Maßeinheit,
da deren Größe sich auf die aktuelle
Font-Größe bezieht.
72 pt = 1 in = 2,54 cm
Webtechnologien – WS 2016/17 - Teil 4/HTML I
16
Syntaktischer Aufbau einer Seite
<!DOCTYPE ... ... >
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
... Kopfteil
</head>
<body>
... Seiteninhalt
</body>
Leerzeichen, Tabulatoren, Umbrüche
sind normalerweise irrelevant. Es gibt
aber ein Tag, das dies beachtet.
Framesets bilden von diesem Aufbau
her eine Ausnahme.
Diese werden aber in dieser Veranstaltung nicht betrachtet.
</html>
17
Webtechnologien – WS 2016/17 - Teil 4/HTML I
Typ des Dokuments
<!DOCTYPE html PUBLIC TYP Grammatik >
Version
TYP in ""
xhtml 1.0
"-//W3C//DTD XHTML 1.0 Transitional//EN"
Empfehlung
xhtml 1.0 genau
"-//W3C//DTD XHTML 1.0 Strict//EN"
Zum Üben
Der Typ des Dokuments ist eine URN!
•
•
•
Für HTML5: <!DOCTYPE html>
Am Ende gibt es kein abschließendes /.
DOCTYPE und PUBLIC müssen groß geschrieben werden.
Webtechnologien – WS 2016/17 - Teil 4/HTML I
18
Kopfteil (Auszug) I
Art
Syntax
Beschreibung
Titel
<title> ... </title>
Max. 64 Zeichen (Richtwert),
notwendige Angabe
für Bookmarks, Suchmaschinen
Bezüge
<link rel=relation
href=URL title=… />
Verweis vorwärts auf externes
Objekt
MetaInformation
<meta name=Key
content=Value />
Beschreibungen der Seite
Stil
<style>
Einbettung von CSS
Script
<script>
Einbettung von Skripten
19
Webtechnologien – WS 2016/17 - Teil 4/HTML I
Kopfteil (Auszug) I - Werte für relation
relation
Beschreibung
stylesheet
Verweis auf eine Style Sheet-Datei
icon
Verweis auf die favorite icon-Datei
Beispiel:
<link rel="stylesheet" href="URL" />
<link rel="icon" href="favicon.gif" type="image/x-icon" />
Webtechnologien – WS 2016/17 - Teil 4/HTML I
20
Kopfteil (Auszug) II - Kleine Icons/favicon
21
Webtechnologien – WS 2016/17 - Teil 4/HTML I
Kopfteil (Auszug) III - Meta-Information
Key
Beschreibung
author
name des Autors
copyright
Inhaber des Urheberrechts
keywords
Stichworte zur Einordnung der Seite
language
Sprache
expires
Verfallsdatum der Seite
revisit-after
Zeitraum für erneuten Suchmaschinenbesuch
robots
Anweisungen an Suchmaschinen
Webtechnologien – WS 2016/17 - Teil 4/HTML I
22
Beispiel
<meta http-equiv="content-type"
content="application/xhtml+xml;charset=iso-8859-1"/>
<meta name="author" content="..."/>
<meta name="copyright" content="..."/>
<meta name="keywords" lang="de" content="..."/>
<meta name="description" lang="de" content="..."/>
<meta name="language" content="de, at, ch"/>
<meta name="expires" content="never"/>
<meta name="revisit-after" content="60 Days"/>
<meta name="robots" content="INDEX, FOLLOW"/>
•
•
Da diese Meta-Tags in der Vergangenheit für eine Erhöhung des Rankings
von Suchmaschinen missbraucht wurden, werden diese kaum noch
beachtet.
Sie sollten aber trotzdem immer noch benutzt werden, denn die
Algorithmen der Suchmaschinen können sich wieder ändern.
Webtechnologien – WS 2016/17 - Teil 4/HTML I
23
Erläuterungen zu HTTP-EQUIV I
<meta http-equiv="content-type"
content="application/xhtml+xml;charset=iso-8859-1" />
Schlüsselwort http-equiv erzwingt Angaben durch den Server im Kopfteil der
HTTP-Antwort im Format name:Value, wenn
<meta http-equiv="name" content="Value" /> ist.
http-equiv
Beschreibung
expires
Datum des spätesten Löschens aus dem Cache des Browsers
refresh
Automatisches Neuladen bzw. Nachladen
content-type
MIME-Typ mit Zeichensatz (charset)
cache-control
No-cache: kein Speichern im Cache des Browsers
Webtechnologien – WS 2016/17 - Teil 4/HTML I
24
Erläuterungen zu HTTP-EQUIV II
(1)<meta http-equiv="refresh" content="20"/>
(2)<meta http-equiv="refresh" content="1;url=URL"/>
•
•
In der Version (1) wird das Dokument nach 20 Sekunden neu vom
Server geladen.
In der zweiten Form wird sofort umgeleitet. Dies ist nach einem
Relaunch einer neuen Version für die veralteten Bookmarks wichtig.
25
Webtechnologien – WS 2016/17 - Teil 4/HTML I
Erläuterungen zu Robots
<meta name="robots" content="INDEX, FOLLOW"/>
Hier werden Anweisungen an Suchmaschinen eingefügt.
Werte
Bedeutung
INDEX, FOLLOW
Indizieren der Seite sowie Weitergehen der URLs
INDEX, NOFOLLOW
Indizieren der Seite
NOINDEX, FOLLOW
Nur URLs heraus zum Indizieren benutzen
NOINDEX, NOFOLLOW
Nichts tun
Siehe: http://de.wikipedia.org/wiki/Meta-Element
Webtechnologien – WS 2016/17 - Teil 4/HTML I
26
body I
<body [lang=“Sprache“]>
...
</body>
•
Sprache nach ISO 639, z. B. "de", "mk" (Maori) oder "zu" (Zulu)
Siehe dazu: http://de.wikipedia.org/wiki/ISO_639
27
Webtechnologien – WS 2016/17 - Teil 4/HTML I
Zeichendarstellung I
Für Zeichen außerhalb des Bereichs a-z, A-Z, 0-9 gibt es eine
Ersatzdarstellung:
– &Symbol;
– &#Code;
Groß-/Kleinschreibung ist relevant.
Zeichen
Ersatz
Zeichen
Ersatz
<
<
'
'
>
>
Blank
 
ä
ä
Ä
Ä
ö
ö
Ö
Ö
ü
ü
Ü
Ü
ß
ß
Bullet
•
"
"
Tilde
˜
Siehe: http://sonderzeichentabelle.de/
Webtechnologien – WS 2016/17 - Teil 4/HTML I
28
Zeichendarstellung III
Webtechnologien – WS 2016/17 - Teil 4/HTML I
30
Zeichendarstellung V
Das ist ein Auszug aus dem
Source-Code der Site
(kein XHTML).
Kopf
Menue
Webtechnologien – WS 2016/17 - Teil 4/HTML I
32
Überschriften
html
Bedeutung
<h1> ... </h1>
Oberste Gliederungsstufe
<h2> ... </h2>
2. Gliederungsstufe
<h3> ... </h3>
3. Gliederungsstufe
<h4> ... </h4>
4. Gliederungsstufe
Webtechnologien – WS 2016/17 - Teil 4/HTML I
33
Absätze
<br/>
<p> … … … </p>
• <br /> fügt einen Zeilenumbruch ein, ohne einen Absatz zu
erzeugen (hat den normalen Zeilenabstand).
• <p> generiert einen Absatz mit größerem Zeilenabstand.
Beispiel:
Das ist der 1. Absatz.
<p> und das der zweite </p><p> gefolgt vom Dritten.
Das nächste Zeilenende ist einfach: </p><br/>
Jetzt geht es direkt in der nächste Zeile weiter.
Webtechnologien – WS 2016/17 - Teil 4/HTML I
34
Tags für Texte innerhalb von Absätzen I
html
Bedeutung
<strike> ... </strike>
Durchgestrichen
<big> ... </big>
Größere Schrift
<small> ... </small>
Kleinere Schrift
<sub> ... </sub>
Index-Schreibweise
<sup> ... </sup>
Exponenten-Schreibweise
Beachten Sie die Vererbung bei Schachtelung.
35
Webtechnologien – WS 2016/17 - Teil 4/HTML I
Tags für Texte innerhalb von Absätzen II
html
Bedeutung
<em> ... </em>
Hervorheben
<strong> ... </strong>
Betonen
<cite> ... </cite>
Zitat
<kbd> ... </kbd>
Tastatureingabe
<q> ... </q>
Kurzes Zitat
<ins> ... </ins>
Hinzugefügter Text
<del> ... </del>
Gelöschter Text
<abbr> ... </abbr>
Abkürzung (Kürzel)
Das sind "echte" Auszeichnungen.
Webtechnologien – WS 2016/17 - Teil 4/HTML I
36
Einbinden von Graphiken
<img [alt="Text"] src="URL" />
•
•
Text ist ein alternativer Text, der ausgegeben wird, wenn die Graphik
nicht geladen oder wenn die Seite vorgelesen wird.
Breite und Höhe der Graphik sollten immer angegeben werden, da dann
der Browser den Text herum unmittelbar setzen kann.
Aber das sollte per CSS erfolgen.
•
Beispiel:
<img src="images/logo.gif" alt="Logo"/>
Webtechnologien – WS 2016/17 - Teil 4/HTML I
37
Links - Referenzen
(1) <a id="Ankername"> ... </a>
(2) <a href="URL" [title="Text"]> ... </a>
•
•
•
•
(1) definiert eine Stelle, die (von außen) referenzierbar ist (Anker). Das ist
also der „Landungsprunkt“ für eine Referenz.
(2) definiert einen Verweis auf ein Objekt (URL) oder auf eine Stelle
innerhalb eines HTML-Dokuments, die mit (1) definiert ist.
Alle Ankernamen müssen innerhalb der Seite eindeutig sein.
Ankername kann sein:
– Lokaler Anker: #name
– URL mit angehängtem lokalen Anker: http://....#name
Webtechnologien – WS 2016/17 - Teil 4/HTML I
38
Graphik als Link
<a href="URL">
<img src="URLBILD" alt="TEXT" />
</a>
•
•
•
Ein Klick auf die Graphik geladen von URLBILD lässt ein Objekt mit der
URL laden.
Die Graphik liegt an der Adresse URLBILD und hat einen alternativen Text,
der - falls die Graphik nicht geladen wird - als Linktext gekennzeichnet
wird.
Beispiel:
<a href="http://www..../index.html">
<img src="Home.gif" alt="[Home]" />
</a>
39
Webtechnologien – WS 2016/17 - Teil 4/HTML I
Listen I
html
Bedeutung
<ul> ... </ul>
Ungeordnete Liste
<li> ... </li>
Einleitung eines Eintrags
<ol> ... </ol>
Nummerierte Liste
Ein Beispiel für eine Liste von Links:
<ul>
<li><a
<li><a
<li><a
<li><a
<li><a
<li><a
href="Common/Common.htm">Allgemeines</a></li>
href="CSCW.htm">Computer Supported Coop. Work</a></li>
href="FML/FML.htm">Facility Management</a></li>
href="Kommunen/Kommunen.htm">Kommunen</a></li>
href="Medizin/Medicine.htm">Medizin</a></li>
href="WFMS/WFMS.htm">Workflow Management</a></li>
</ul>
Webtechnologien – WS 2016/17 - Teil 4/HTML I
40
Listen II - Beispiele
<ul>
<li> Koffer </li>
<li> Tasche </li>
<li> Mantel </li>
</ul>
<ol>
<li> Mehl abwiegen </li>
<li> Eier schlagen </li>
<li> Zusammenmischen </li>
</ol>
41
Webtechnologien – WS 2016/17 - Teil 4/HTML I
Tabellen I
<table>
<tr>
<th> Kopf 1. Zeile, 1. Spalte </th>
<th> Kopf 1. Zeile, 2. Spalte </th>
<th> Kopf 1. Zeile, 3. Spalte </th>
Die angesprochenen
Attribute werden über
CSS definiert.
</tr>
<tr>
<td> Daten 2. Zeile, 1. Spalte </td>
<td> Daten 2. Zeile, 2. Spalte </td>
<td> Daten 2. Zeile, 3. Spalte </td>
</tr>
<tr>
<td> Daten 3. Zeile, 1. Spalte </td>
<td> Daten 3. Zeile, 2. Spalte </td>
<td> Daten 3. Zeile, 3. Spalte </td>
</tr>
</table>
Tabelle mit definiertem
Rahmen
Webtechnologien – WS 2016/17 - Teil 4/HTML I
42
Tabellen II
<table>
<tr>
Die angesprochenen
Attribute werden über
<th> Kopf 1. Zeile, 1. Spalte </th>CSS definiert.
<th> Kopf 1. Zeile, 2. Spalte </th>
<th> Kopf 1. Zeile, 3. Spalte </th>
</tr>
<tr>
<td> Daten 2. Zeile, 1. Spalte </td>
<td> Daten 2. Zeile, 2. Spalte </td>
<td> Daten 2. Zeile, 3. Spalte </td>
</tr>
..... Wie oben
Tabelle ohne Rahmen
und mit definiertem
Zellabstand (cellspacing)
43
Webtechnologien – WS 2016/17 - Teil 4/HTML I
Tabellen III
html
Bedeutung
<table> ... </table>
Gesamtdefinition der Tabelle
<tr> ... </tr>
Tabellenzeile ("row")
<td> ... </td>
Einleitung der Daten ("data")
<th> ... </th>
Einleitung der Überschrift ("header")
•
•
•
•
Alle Rechteck-förmige Elemente können einen Abstand haben:
zwischen Rahmen und Inhalt sowie zwischen Zelle und Zelle
Der Inhalt kann wie jeder Text ausgerichtet werden: linksbündig,
rechtsbündig etc.
Die Position der Tabelle insgesamt kann in Bezug auf den
umfassenden Rahmen ausgerichtet werden.
Dies alles erfolgt über CSS.
Webtechnologien – WS 2016/17 - Teil 4/HTML I
44
Nach dieser Anstrengung etwas Entspannung...
Webtechnologien – WS 2016/17 - Teil 4/HTML I
46
Herunterladen