list-style-image im drop down menü

Diskutiere list-style-image im drop down menü im HTML Forum im Bereich Programmierung; Hallo, habe in meinem ersten Projekt: laufrad-manufaktur.de im Drop Down Menü ein Bild einfügen wollen - siehe Quelltext: <ul...
  • list-style-image im drop down menü Beitrag #1
R
radlauf
Member
Beiträge
7
Punkte Reaktionen
0
Hallo,

habe in meinem ersten Projekt: laufrad-manufaktur.de im Drop Down Menü ein Bild einfügen wollen - siehe Quelltext:

<ul style="list-style-image:url(rad.jpg)">

Leider wird das Bild nicht angezeigt?

Kann jemand weiterhelfen?
 
  • list-style-image im drop down menü Beitrag #2
W
Webdesigner
Active member
Beiträge
35
Punkte Reaktionen
0
Bin mir nicht sicher, ob ich Dich richtig verstanden habe:
Möchtest Du die Aufzählungspunkt-Grafik der Liste ändern?

Dann probier mal <ul style="list-style-type:none;">
zusammen mit
<li style="background-image:url(rad.jpg);"> Listenpunkt </li>

Oben schaltest Du die Standardgrafik aus, unten definierst Du Dein Rad als neuen Listenpunkt.
 
  • list-style-image im drop down menü Beitrag #3
R
radlauf
Member
Beiträge
7
Punkte Reaktionen
0
Hallo Webdesigner,

hinsichtlich Deiner Frage. Auf der Seite fahrrad.de sieht man im Drop Down was ich gerne realisieren möchte. Bild links vom Text.

Gruss Claudio
 
  • list-style-image im drop down menü Beitrag #4
W
Webdesigner
Active member
Beiträge
35
Punkte Reaktionen
0
Ok, Du könntest es folgendermaßen machen:
HTML:
<li class="rennrad"> Rennrad </li>
<li class="kinderrad"> Kinderrad </li>

CSS:

li.rennrad a
{
color:#666666;
background-image:url(images/rennrad-normal.png);
}

li.rennrad a:hover
{
color:#999999;
background-image:url(images/rennrad-hover.png);
}


li.kinderrad a
{
color:#666666;
background-image:url(images/kinderrad-normal.png);
}

li.kinderrad a:hover
{
color:#999999;
background-image:url(images/kinderrad-hover.png);
}

Erklärung: Jedem einzelnen Link weist du eine andere Klasse zu.
Im CSS beschreibst Du für jede Klasse ein anderes Hintergrundbild, und zwar für jede Klasse jeweils ein Bild für den Normalzustand, und ein anderes Bild für den Hover-Zustand.
Wenn das gundsätzlich funktioniert, aber noch nicht so gut aussieht, kannst Du mit folgendem zusätzlichen CSS-Code arbeiten:

background-repeat:no-repeat; /* Icon nicht wiederholen */
background-position:0px 2px; /* Icon positionieren */
padding-left:24px; /* Text-Einrückung, damit sich Icon und Text nicht überlappt */

Du siehst, dass der CSS-Code durch das alles sehr lang wird. Daher solltest Du die CSS-Anweisungen nicht mehr direkt ins HTML packen, sondern auslagern, z.B. in den Seitenkopf oder in eine extra Datei ("styles.css").

Wenn Di das alles zu kompliziert ist, kannst Du einfach mit folgendem HTML-Code viel erreichen:

<a href="kinderrad.htm"><img src="images/kinderrad-normal.png" alt="" title="" onmouseover="javascript:this.src='images/kinderrad-hover.png'" onmouseout="javascript:this.src='images/kinderrad-normal.png'" /></a>

Bei dieser Lösung machst Du Icon + Text zusammen in ein Bild kinderrad-normal.png.
Frü den Hover-Zustand nimmst Du dasselbe Bild, nur mit anderen Farben.
Für die Suchmaschinen ist das nicht optimal, da die Suchmaschine bei dieser Lösung keinen Text finden kann (und Bilder können bislang nicht ausgelesen werden).
 
  • list-style-image im drop down menü Beitrag #5
R
radlauf
Member
Beiträge
7
Punkte Reaktionen
0
Hallo Webdesigner,

zunächst mal ENTSCHULDIGUNG für die ziemlich späthe Antwort! Werde demnächst Papa, deshalb viel zu viel um die Ohren!

Version 2 (also die einfache Variante) hat gleich auf Anhieb funktioniert. Gefällt mir sehr gut!!!

Würde aber auch gerne Version 1 verstehen!
HTML Code ist ergänzt ( zum Test nur um Rennrad)

CSS sieht jetzt folgendersmassen aus:
#menu ul, li, a{ padding:0; margin:0;}
/*set up a tags*/
#menu a{display:block;}
/*position level 1 links horizontally*/
#menu li{display:block; float:left; }
/*undo previous style for level 2 links*/
#menu li ul li{float:none;}
/*position level 2 links vertically and hide*/
#menu li ul{display:none; position:absolute; z-index:1}
/*unhide level 2 links on li:hover from level 1*/
#menu li:hover ul{display:block;}

/*DROPDOWN STYLING:*/
#menu{height:33px}/*Höhe Menu*/
#menu a{color:#09F; padding:5px 10px 5px 10px;}
#menu a:hover{color:#0CF;}
#menu li{background-color:#FFF; border:solid 1px #CCC; margin-left:-1px}
#menu li:hover{background-color:#F0F0F0}

li.rennrad a {color:#666666; background-image:url(rad.png);}
li.rennrad a:hover{color:#999999;background-image:url(images/rad.png);}
background-repeat:no-repeat; /* Icon nicht wiederholen */
background-position:0px 2px; /* Icon positionieren */
padding-left:24px; /* Text-Einrückung, damit sich Icon und Text nicht überlappt */

Problem: Das rad-Bild wird im Hintergrund vom Text 4 mal angezeigt.

Habe diese Variante hochgeladen unter:

laufrad-manufaktur.de

Viele Grüsse!
 
  • list-style-image im drop down menü Beitrag #6
W
Webdesigner
Active member
Beiträge
35
Punkte Reaktionen
0
Herzlichen Glückwunsch zum kommenden Nachwuchs.

Du musst noch "background-repeat:no-repeat" setzen, sonst wird das Hintergrundbild formatfüllend wiederholt.

Im Moment steht zwar...

li.rennrad a:hover{color:#999999;background-image:url(images/rad.png);}
background-repeat:no-repeat; /* Icon nicht wiederholen */

...aber der CSS-Tag ist bereits mit der geschweiften Zu-Klammer beendet.
Das heißt, die darunterstehende Zeile steht einfach so im Raum herum und wird nicht dem li.rennrad a:hover zugeordnet.

Die Lösung ist wahrscheinlich:

li.rennrad a:hover{color:#999999;background-image:url(images/rad.png);
background-repeat:no-repeat; /* Icon nicht wiederholen */ }
 
  • list-style-image im drop down menü Beitrag #7
R
radlauf
Member
Beiträge
7
Punkte Reaktionen
0
...Danke für die Glückwünsche...ist das Erste :)

Habs jetzt angepasst auf:

li.rennrad a {color:#666666; background-image:url(rad.png);background-repeat:no-repeat; background-position: right top;}

und mit "background-position" noch rechts ausgerichtet.


Wunderbar!!!

P.S. ...meinst Du ich kann Dich nochmal "löchern" wenn ich wieder wo hänge?
Spätestens wenn Du einen Achter im Laufrad hast...kann ich mich revanchieren :)
 
Thema:

list-style-image im drop down menü

Oben Unten