Publikationen
Webdesign und Webentwicklung:
Bericht von der Baustelle WWW (Jan. 2007)
1. Teil: Style Guide für eine Website
2. Teil: CSS-Code Organisation erleichtert Übersicht und Unterhalt
3. Teil: (X)HTML- und CSS-Richtlinien
XHTML und CSS-Code-Richtlinien
Richtlinien zur Code-Schreibweise sagen im Style-Guide über das Farbkonzept mit hexadezimalen und RGB-Farbwerten und der richtigen Positionierung des Logos hinaus auch etwas über die Code-Schreibweise aus. Gerade bei grossen Websites von Firmen machen Konventionen sehr viel Sinn.
Namensgebung
Namen sollten grundsätzlich so vergeben werden, dass sie möglichst die Funktion des betroffenen Elements wiedergeben – nicht seine Formatierung. Wenn man Klassen- und id-Namen mit einer sinnvollen Semantik versieht, können viele Probleme vermieden werden.
- Falsch:
<p class="redLine" />- Richtig:
<p class="warning" />
Und wenn immer möglich Markup anwenden:
- Falsch:
<span class="headline">Der Titel dieses Textes </span>- Richtig:
<h1>Der Titel dieses Textes</h1>
CSS-Selektoren im (X)HTML-Code
Über die Selektoren wird bestimmt, welche Regeln auf welche Elemente im Dokument wirken. Der Gebrauch von id's und Klassennamen sollte sehr überlegt erfolgen.
Das Skelett jedes Dokumentes ist dessen (X)HTML-Markup. Jede Webseite hat auch mit abgeschaltetem CSS immer noch eine bedeutungsvolle, logische Struktur. Die Headline ist mit <h1> formatiert, es folgen <p>-Texte und in richtiger Hierarchie weitere Unter- oder Zwischentitel von <h2> bis <h6>. Listen werden für Navigationselemente und für inhaltliche Aufzählungen verwendet.
Mit der visuellen Formatierung durch die CSS kommen zum generischen Code die Layout- und Darstellungs-Eigenschaften dazu. Auch hier sollen die Namen die Funktion wiedergeben. Für das Layout sind gute id-Bezeichnungen für die div-Boxen wichtig:
- Falsch:
<div id="zwei">- Richtig:
<div id="header">
Bei schliessenden </div> Tags immer mit einem Kommentar kennzeichen, zu welchem öffnenden <div> sie gehören, das erleichtert die Lesbarkeit des (X)HTML-Codes stark und vermindert Fehler:
<div id="header"> <h1> ... </h1> ... ... ... </div><!-- /header -->
Innerhalb der mit <div> eingegrenzten Bereiche kann nun gezielt das Markup angesprochen und dessen Darstellung gesteuert werden. So sparen wir viele Klassennamen und können zudem dieselben Elemente, etwa <h2> und <ul>, in anderen Bereichen der Webpage anders darstellen. Es gibt keinerlei Darstellungsangaben und nicht einmal Klassen und doch wird die Darstellung komplett mit CSS gesteuert:
<div id="header">
<h1>Ein Haupttitel erster Güte</h1>
<h2>Hauptnavigation</h2>
<ul>
<li>Homepage</li>
<li>Über uns</li>
<li>Produkte</li>
</ul>
/div><!-- /header -->
...
Die CSS zur Steuerung der Darstellung des obenstehenden Codes
Mit dem CSS wird die Default-Darstellung der Tags übersteuert. Das heisst, die Eigenschaften der HTML-Tags die innerhalb des div mit der id="header", verwendet werden, werden mit den gewünschten Eigenschaften überschrieben:
/*---- header BOX fuer Navigation ----------*/
#header {
background: #ccc;
padding: 3px 0 5px 0;
margin: 0;
color: #fff;
font: bold 1.2em arial, sans-serif;
}
/*---- Titel, und Links der Navigation ----------*/
#header h2, ul {
display:inline;
list-style: none;
margin: 0;
padding: 0;
}
#header li {
display:inline;
list-style: none;
margin: 0;
padding: 0;
}
#header a {
color: #fff;
text-decoration: none;
}
#header a:visited {
color: #fff;
text-decoration: none;
}
#header a:hover {
color: #fff;
text-decoration: none;
background: #003a7;
}
...
Auch Klassen können definiert werden, die nur innerhalb des div #header wirken:
#header .aktiv {
background: #003a70;
padding: 3px 18px 5px 18px;
margin: 0 0 0 0;
color: #fff;
}
CSS Schreibweise generell
Ein kleines Beispiel zeigt gut lesbare Schreibweise auf, die unten Punkt für Punkt erklärt wird:
/*---------- Layout Boxen -------------*/
/*---------- Header Bereich------------*/
#header {
background-color: #fff;
background-image: url(http://meinblog.com/logo.gif);
height: 90px; /*definiert Abstand zum content */
margin: 0;
padding: 0 12px 20px 0;
font: bold 1.2em arial, sans-serif;
}
- Der Selektor (#header) ist ausgerückt, die schliessende spitze Klammer auch
- Pro Deklaration eine Zeile
- Jede Deklaration ist mit 1 Tabulator eingerückt
- Jede Deklaration ist mit Semikolon abgeschlossen;
- 1 Leerzeichen vor { und zwischen dem : und dem Wert. Für bessere Lesbarkeit
- Wichtige Einstellungen sind mit Kommentar erläutert, /* definiert ...
- Kurzschreibweise wenn immer möglich verwenden, für font: ... und auch für Farben: #fff, nicht: #ffffff
- Kurzschreibweise auch bei padding und margin verwenden
- Für IEX Mac brauchbare background-image url, also ohne Anführungszeichen schreiben, so wie oben und nicht: background-image: url("http://meinblog.com/logo.gif");
Zum Abschluss Validieren
Das (X)HTML-Dokument und das oder die CSS- Files validieren. Es werden grundsätzlich keine nicht-validen Files weitergegeben oder in einer Arbeitsgruppe auf den Share gespeichert. Das Datum der letzten Validierung im Head-Kommentar notieren.
HTML-Validator: http://validator.w3.org/
CSS-Validator: http://jigsaw.w3.org/css-validator/
Weiterführende Links
- Das erwähnte Buch CSS Mastery, von Andy Budd:
- CSS Mastery – Advanced Web Standards Solutions
- Die Webdesign-Richtlinien für GMX Deutschland, von Jens Meiert ergänzen diesen Beitrag:
- Richtlinien für GMX Deutschland von Jens Meiert
- Umfangreiche Linkliste zu CSS:
- http://www.drweb.de/weblog/weblog/?p=665
- Hintergründe zum Quirksmode von IEX:
- www.quirksmode.org/css/quirksmode.html
- Fehler entdeckt?
- Bitte melden an: Sven Jenzer, 19.09.2006