Die Macronavigation zeigt nicht die gesamte Baumheirarchie an, sondern nur die Dokument-Sequenz der aktuellen Ebene, d.h. die 'Geschwister' von Dokumenten bzw. die 'Kinder' von Rubrik-Objekten.
Die Objekte erscheinen als Listen-Elemente; ihr Typ wird durch ein entsprechenden Bullet-Image repräsentiert.
DTML-Template
Die Macronavigation wird von einem DIV-Element ummantelt - weiterhin von zusätzlichen definitionlist-Elementen, damit browserübergreifend die Aussenabstände gleichartig gehalten werden können.
Die Funktion filteredChildNodes(REQUEST,PAGES) liefert eine Liste aller Seiten-Objekte; mit der integer-Funktion werden die Bool-Werte False/True aus der Prüfung nach dem aktuellen Objekt in einen Zahlenwert (0/1) transformiert; entsprechend werden die CSS-Klassen für Dokumente (doc0: nicht aktives Dokument, doc1: aktives Dokument). Eine Entsprechung bei Rubrik-Containern erübrigt sich, da in diesem Fall stets die Unterobjekte und nicht das Objekt selbst gelistet wird.
Das vorliegende CSS bemüht sich, Abstände und relative Schriftrößen browserübergreifend darzustellen; daher sind einige bekannte "Hacks" eingesetzt worden:
"font size hack": stellt sicher, dass die relativen (aber auch absoluten) Schriftgrößen gleich aussehen; der Hack nutzt ein Bug im Internet-Explorer aus
"box model hack": der üblichweise für das fehlerhafte Rand-/Weiten-Verhalten von IE eingesetzte Code kann hier zur Normalisierung des Listeneinzugs verwendet werden. Im Firefox sind die Listeeinzüge tiefer als beim IE; der Ausgleich beträgt hier für den Firefox -8px.
Die Referenzierung der Bullet-Images geschieht über die Pfad-Variable 'ZMS_COMMON'; statt des Tag-Aufrufes wird hier die Entity-Syntax eingesetzt, damit auch der rohe Code keine Fehler verursacht.
/*-------------------------*/
/*-----Macronavigation-----*/
/*-------------------------*/
div#Macronavigation {
padding: 0;
border: 0;
margin-top: 50px;
}
#Macronavigation dl,
#Macronavigation dt,
#Macronavigation dd {
margin: 0;
padding: 0;
border:0;
}
#Macronavigation ul li {
margin: 0;
padding: 0;
border: 0;
margin-top: 5px;
line-height: 1.25em;
font-size: small;
}
/*----- font size hack -----*/
/*/*/a{}
body #Macronavigation ul li {
font-size : x-small;
}
html>head:first-child+body #Macronavigation ul li {
font-size : small;
}
/* */
/*----- /font size hack -----*/
#Macronavigation ul li.folder {
list-style: disc url(&dtml-ZMS_COMMON;/iconfolder.gif) inside;
}
#Macronavigation ul li.doc0,
#Macronavigation ul li.doc1 {
list-style: disc url(&dtml-ZMS_COMMON;/icondoc.gif) inside;
}
#Macronavigation ul li.doc1 {
font-weight: bold;
}
#Macronavigation ul li a {
/*-------box model hack-------*/
margin-left: -8px !important;
margin-left: 0px;
margin-left/**/:/**/-0px;
}