Zum Inhalt springen

Menüs basierend auf CSS

Erstellt am 7. Juni 2008 · 9 Antworten · letzte Antwort am 7. Juni 2008

Tags: Frage

borboleta ·

Liebe Leute!

Zuerst möchte ich mich bei just2b für das tolle Tutorial zu den Menüs bedanken. (#39055)

Es ist wirklich klasse, dass jemand so seine Zeit einsetzt um anderen zu helfen.

Ich habe den Originalcode verwendet. JS ist eingebunden, gif ist vorhanden, directory ist angepasst. Nun kann ich die Menüs und Sub-Menüs sehen, aber den Pfeil kann ich nicht sehen.

Kann mir jemand helfen?

Dank + Gruss

marks.MENU = HMENU
marks.MENU {
    special = directory
    special.value = xxx

    1 = TMENU
    1 {
        expAll = 1
        wrap = <ul id="nav">|</ul>
        noBlur = 1
        NO = 1
        NO.wrapItemAndSub = <li>|</li>

        IFSUB = 1
        IFSUB.wrapItemAndSub = <li class="menuparent">|</li>
        ACTIFSUB < .IFSUB
    }
    2 < .1    
    2.wrap = <ul>|</ul>

    3 < .2
    4 < .2
}
#nav a.menuparent  {
    background: url(fileadmin/images/arrow.gif) no-repeat 90% 40%;
}
just2b ·

Hallo,

vielen Dank fürs Lob!

gibts nen link, ansonsten ist das schwierig! wohl der pfad falsch, der ist relativ zur css datei! bei deinem bsp müsste die css datei in der rootebene liegen, bezweifle ich jetzt einfach mal so

georg

borboleta ·

Danke für die schnelle Antwort,

leider klappt es noch nicht.

Mein Baum sieht so aus:

fileadmin\styles\horizontal_CSS.css
fileadmin\images\arrow.gif

Was soll ich eingeben? Ich habe folgendes ausprobiert:

background:url(arrow.gif) no-repeat 90% 40%;
background:url(.arrow.gif) no-repeat 90% 40%;
background:url(\arrow.gif) no-repeat 90% 40%;
background:url(.\arrow.gif) no-repeat 90% 40%;
background:url(..\arrow.gif) no-repeat 90% 40%;
background:url(.\..\arrow.gif) no-repeat 90% 40%;
background:url(..\..\arrow.gif) no-repeat 90% 40%;
background:url(\fileadmin\images\arrow.gif) no-repeat 90% 40%;

background:url(/arrow.gif) no-repeat 90% 40%;
background:url(./arrow.gif) no-repeat 90% 40%;
background:url(../arrow.gif) no-repeat 90% 40%;
background:url(/../arrow.gif) no-repeat 90% 40%;
background:url(../../arrow.gif) no-repeat 90% 40%;
background:url(/../../arrow.gif) no-repeat 90% 40%;

background:url(images/arrow.gif) no-repeat 90% 40%;
background:url(fileadmin/images/arrow.gif) no-repeat 90% 40%;
background:url(/fileadmin/images/arrow.gif) no-repeat 90% 40%;

Danke + Gruß

SLAng ·

Dein Pfad ist einfach falsch. Es hilft dir doch nichts immerweider mitzuteilen, das es immernoch nicht geht.
Keiner kennt deine Installation...

Versucht mit dem vollständigen Pfad:

http://www.deineDomain.de/fieladmin/iamges/arrow.gif

ansonsten
../../fileadmin/images/arrow.gif

dann eben die Pfade ausprobieren...

sowas:
.\..\ ist natürlich Quatsch

SLAng ·

Hast du das:
http://localhost/typo/fileadmin/images/arrow.gif
denn auch in dein CSS eingegeben?

Es kann schon an einem falschen doctype liegen, das zum Beispiel die positionsangabe 90% 40% nicht verstanden wird. Was ist denn für ein Pfeil? Ist das ein Pfeil in einem Menü?

Verwende Firefox und installier die Web Developer Tools. Dann kannst du on the fly mit dem CSS rumspielen.

vereinfach das CSS nimm die Positionierung raus. schreibe dfinitive Größenangaben in die Definition. Das ganze wird ja in einem DIV-tag stehen, oder?

Ohne Link ist das schwer zu sagen

borboleta ·

Ja. Ich habe "http://localhost/typo/fileadmin/images/arrow.gif" im mein css eingebunden.

Den Pfeil habe ich von hier:
http://www.studentenwerk-karlsruhe.de/images/global/show_arrow.gif

Er ist in einem Menue und soll angezeigt werden wenn ein Menue-Item vorhanden ist.

Der Html-Template enthält:

<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

Konfiguration im Setup-Bereich des Root-Templates:

config.doctype = xhtml_trans
config.xmlprologue = none
config.xhtml_cleaning = all
config.htmlTag_langKey = de-DE
config.doctypeSwitch = true 
config.htmlTag_setParams = xmlns="http://www.w3.org/1999/xhtml" xml:lang="de" lang="de"

HTML aus Browser

<div id="mitte">

 <ul id="nav"><li><a href="index.php?id=12">STARTSEITE</a></li>
 <li class="menuparent"><a href="index.php?id=11">PRODUKTE</a>
 <ul> <li class="menuparent"><a href="index.php?id=14">MBS</a>
 <ul><li><a href="index.php?id=37">MBS</a></li>
 <li><a href="index.php?id=36">MBS CO2 Monitoring</a></li>
 <li><a href="index.php?id=35">MBS HaVis</a></li></ul></li>
 <li class="menuparent"><a href="index.php?id=13">UKIS</a>
 <ul><li><a href="index.php?id=44">UKIS PE</a></li>
 ..
 </div>

Gerade habe ich Web Developer Tools installiert. CSS und HTML sind fehlerfrei
CSS level 2.1 validiert!
XHTML 1.0 ist Transitional!

Einen Link zu dieser Website gibt es noch nicht. Diese befindet sich erst in der Entwicklung.

Über Tipps und Vorschläge bin ich dankbar.

Danke + Gruß

SLAng ·

Das alles was du gepostet hast hilft ja nicht wirklich weiter...

Ohne Link ist es schwierig.

Verwende in deinem CSS den vollständigen Pfad zu dem Bild und nimm die Prozentangaben raus und ersetz die durch 0 0. damit sollte das Bild oben links angezeigt werden. Wie komst du überhaupt auf 90% 40% wenn du doch noch nichtmal das Bild siehst.
ich schätze das dadurch das Bild einfach außerhalb des sichbaren Bereichs verschoben wird.