Grund- und Hintergrundwissen

Websites Typologie

Technologien im Internet

Barrierefreiheit / Zugänglichkeit

Browserkompatibilität

Zeilenumbrüche / Whitespace

Geschichte

sieht auch

HTML wurde ursprünglich vom Gründer des Webs Tim Berners Lee erfunden. Es ist eine auf SGML basierte Auszeichnungssprache, die die Aufgabe hat, die logischen Bestandteile eines Dokuments zu beschreiben. Es wird somit die logische Struktur eines Textes definiert. Beispielsweise mit Überschriften, Textabsätzen, Listen, Tabellen etc.

Semantik & Aussehen

siehe auch Semantic Web

Semantik ist die Bedeutung von Zeichen, Wörtern, Phrasen und Symbolen. Durch Semantik wird die Bedeutung des Inhalts definiert oder verdeutlicht.

Mittels HTML Elementen und Attributen wird die Bedeutung des Textes einer HTML Seite definiert. Hier spricht man auch von Semantic Web. Dabei geht es darum den Text für Maschinen lesbarer zu machen und nicht darum den Text zu formatieren und zu gestalten. Nicht jedes Wort ist eindeutig, z.B: Ente, Bank, Blüte, Dame, Boxer. Noch schwieriger ist es für Maschinen ganze Sätze zu verstehen.

Damit für Maschinen und Programme Inhalte auswertbarer werden, wird mittels HTML Elementen die Website strukturiert. Mit Maschinen sind in erster Linie Suchmaschinen gemeint, Stichwort SEO, aber auch assistive Technologien, wie Screenreader und Lesegeräte für behinderte Menschen, profitieren von einem gut struktutriertem HTML Markup.
Das Aussehen der HTML Seiten wird mit CSS definiert. Es gibt somit eine klare Trennung.

Ein HTML Element muss keinen optischen Effekt erzeugen, aber es kann durch CSS einen optischen Effekt bekommen. So können beispielsweise alle Texte, die mit einem HTML-Element für Zitate versehen wurden, mit kursiver Schrift und einer bestimmten Farbe dargestellt werden. Diese Zuweisung geschieht mit CSS. Selbst wenn man keine einzige CSS Eigenschaft zuweist, werden bestimmte HTML Elemente von den Browsern mit CSS Eigenschaften versehen. Das sind CSS-Definitionen, die im Browser implementiert sind. Man nennt es auch Browserstylesheet. So werden beispielsweise Überschriften größer und fett dargestellt. Dieses Browserstylesheet kann man mit eigenen CSS Definitionen anders gestalten. Durch dieses CSS wird das Browserstylesheet überschrieben. Ich fasse zusammen: Eine Webseite könnte man nur mit HTML ohne CSS erstellen, dann greift das Browserstylesheet. Definiert man für bestimmte HTML-Elemente oder Textstellen eigene CSS Formatierunge wird das entsprechende Browserstylesheet überschrieben und ersetzt.

Wenn man jedoch nur HTML einsetzt, sieht man beispielsweise Überschriften vom Browserstylesheet als fett dargestellt. Nun könnte man auf die Idee kommen, dass man, immer wenn man eine fette Schrift braucht, das HTML Element für eine Überschrift einsetzt. Dann würde die Schrift zwar wie gewünscht im Browser fett dargestellt, aber es wäre das falsche HTML-Element, denn die Definition eines HTML Elements gibt dem Text eine spezifische Bedeutung und nur so sollte HTML eingesetzt werden. Das Aussehen wird ausschließlich mit CSS bestimmt. Es gibt also eine klare Trennung von HTML (Bedeutung / Semantik) und CSS (Schriftformatierung, Design, Layout, Aussehen).

HTML wird in Dateien mit der Endung html, htm, php erstellt.
CSS kann man innerhalb einer HTML-Datei oder als externe CSS Datei mit der Endung css definieren.

 

Sicherheit

Suchmaschinen fernhalten

Es gibt einige Techniken, um bestimmte Bereiche der Website abzusichern.
So hat man die Möglichkeit Suchmaschinen von bestimmten Seiten oder Bereichen des Webangebots fernzuhalten. Es gibt hier verschiedene Möglichkeiten.

Passwortschutz

Es gibt die Möglichkeit bestimmte Bereiche/ Ordner der Website mit einem Passwortschutz zu versehen, so dass man nur über Eingabe des Benutzernamens und Passworts den Bereich aufrufen kann.
siehe auch Selfhtml htaccess
Passwortschutz mit htaccess

htaccess Generator

Datei- & Ordnernamen

Konventionen und Regeln:

Whitespace & Zeilenumbrüche

Whitespace ist Leerraum wie Zeilenumrüche, Absätze und Leerzeichen.

Whitespace wird vom HTML-Parser (Software welche HTML interpretiert) zu einem Leerzeichen zusammengefasst.

Leerzeichen am Anfang eines Html Elements werden entfernt.

Alle Zeichen die vom HTML-Parser interpretiert werden nennt man PCDATA (parsed character data). Bereiche, die nicht interpretiert werden nennt man CDATA (character data). siehe auch selfhtml

Script Bereiche und CSS Bereiche werden nicht vom HTML Parser analysiert, CDATA.

<!-- -->
Kommentare gehören zu CDATA. Ein Kommentar beginnt mit <!-- dann folgt der Inhalt und endet mit -->
<pre></pre>
Präformatierter Text ist Text der mit allen Leerzeichen und Zeilenumbrüchen angzeigt wird. Dieser Text wird eingeschlossen vom <pre></pre> Element.
&nbsp;
Man kann Leerzeichen durch dieses geschütztes Zeichen erzwingen, siehe auch Zeichencodierung
<nobr></nobr>
Das nobr- Element wird eingesetzt, wenn man einen Zeilenumbruch verhindern will. Die Zeile wird mit den nobr Elementen umgeben. Dazu verwendet man besser die CSS Eigenschaft white-space
<wbr>
Das Standalone Element steht für wordbreak und erzeugt einen bedingten Zeilenumbruch, bei dem kein Trennzeichen entsteht.
&shy;
Dieses Soft Hypen Entity erzeugt einen bedingten Zeilenumbruch, bei dem ein Trennzeichen angezeigt wird.

Hyphens / Silbentrennung

Mittels CSS hyphens: auto; lässt sich eine automatische Silbentrennung am Ende der Zeile erzeugen. Siehe hier / CSS Texteigenschaften / Hyphens.

Javascript Hyphenator

Früher ließ sich das mit Javascript erzeugen

https://code.google.com/p/hyphenator/

Mit dem Hyphenator, einer Javascriptdatei kann man eine automatische Silbentrennung erzeugen. Laden Sie die Javascript Datei herunter und binden Sie diese in der HTML Seite ein.Alle Elemente in denen getrennt werden soll, müssen mit Klasse .hyphenate ausgezeichnet werden. Man kann auch Bereiche ausschließen mit .donthyphenate

so sieht`s aus

Conditional Comments (veraltet)

Es gibt Kommentare, die nur von Internet Explorer 9 oder tiefer ausgelesen werden. Da diese Browser heutzutage so gut wie nicht mehr genutzt werden, ist dieses Thema veraltet. Wenn man jedoch bestimmte Bereiche, wie beispielsweise Style Sheets oder Script Einbindungen definieren will, die nur von IE ab einer bestimmten Version eingebunden werden sollen, kann man das nutzen.

siehe auch Browserversionen

<!--[if lt IE 9]>  
    <script src="bower_components/html5shiv/dist/html5shiv.js"></script>
<![endif]-->

In den eckigen Klammern definiert man die Version mit einer Bedingung if.

lt steht für less than kleiner als

lte less than equal, kleiner als oder gleich

gte greater than equal, größer als oder gleich

gt greater than, größer als