Rechnen mit CSS ?
KraKi
- css
Hallo,
meine heutige Frage ist im Grunde: Kann CSS rechnen?
So, und nun detailiert worum es geht. Ich habe eine Navigationsstruktur in zwei Ebenen, soweit nichts besonderes, es gibt eben sechs Menü-Punkte und jeder von ihnen hat eine Anzahl von Unterpunkten.
Das ganze wird via php erzeugt, zwecks einfacherer Pflege steht die Navigation nämlich in einem array und ein parser übersetzt diesen array dann in die HTML-Navigation.
Soweit so gut. Bisher habe ich also wie gesagt zwei Ebenen, die in CSS so aussehen:
-------------------------------------------------
a.navi_left1 {
position:absolute;
left:10px;
color:#123456;
}
a.navi_left2 {
position:absolute;
left:30px;
font-size:80%;
color:#123456;
}
-------------------------------------------------
und in HTML etwa so:
-------------------------------------------------
<a class="navi_left1" href="index.php?action=G1">Projekt</a><br />
<a class="navi_left1" href="index.php?action=help&topic=design">Hilfe</a><br />
<a class="navi_left1" href="index.php?action=profile"><b>Profil</b></a><br />
<a class="navi_left2" href="index.php?action=changemail">Email-Adresse ändern</a><br />
<a class="navi_left2" href="index.php?action=password">Passwort ändern</a><br />
<a class="navi_left2" href="index.php?action=design"><b>Designeinstellungen</b></a><br />
<a class="navi_left1" href="index.php?action=G4">Adressen</a><br />
<a class="navi_left1" href="index.php?action=G5">Gemeinschaft</a><br />
<a class="navi_left1" href="index.php?action=logout">Log Out</a><br />
-------------------------------------------------
(Hier ist der Menüpunkt "Profil" und der Untermenüpunkt "Designeinstellungen" geöffnet/aktiviert)
Das ganze ist noch in einem DIV-Container.
Jetzt habe ich mir aber überlegt, dass ich bei einzelnen Menüpunkten auch eine dritte Ebene gebrauchen könnte, also auch eine dritte Klasse... und dann dachte ich, dass es toll wäre unendliche Tiefe (klingt klasse) zu haben und dazu müsste CSS eben rechnen können. Also im Grunde will ich definieren, dass das <a>-Element der Klasse "navi" o.ä. angehört und gleichzeitig einen Wert über die Navigationstiefe vermitteln (in php ja nicht das Problem). CSS soll jetzt aus dem Ebenen-Wert einen "left"-Wert errechnen, z.B. left:Ebene*5ex (oder em oder px).
Geht das oder muss ich das in php lösen?
Gruß.
Da verfolgst du aber einen falschen Ansatz.
Einfacher geht das mit geschachtelten Listen. Schau mal
http://alistapart.com/ oder bei google unter den Stichwörtern menü css.
Rechnen kannst du in CSS erst ab Version 3 http://aktuell.de.selfhtml.org/weblog/css3-calc-vs-box-sizing.
Danke für die Antworten, sind beide nützlich :-)
@ingobar: Du meinst wie auf dieser Seite (auch wenn das keine Navigation ist)?
Hallo!
@ingobar: Du meinst wie auf dieser Seite (auch wenn das keine Navigation ist)?
Bin zwar nicht ingobar, aber ja das meint er. Aber du hast den Link zu A List Apart gesehen? Er ist wirklich zu empfehlen.
ciao, ww
Aber du hast den Link zu A List Apart gesehen? Er ist wirklich zu empfehlen.
Ja, habe ich natürlich (außerdem Bookmark gesetzt unter Development=>Webdesign), ich schieße Empfehlungen doch nicht ungeprüft in den Wind :-)
Hier findest du was: