HTML Bilder bei Mousover

Birfan

Ensign
Registriert
Dez. 2008
Beiträge
134
Moin Moin,

ich würde gern mal wissen wie man folgendes einfach realisieren kann:

Ich habe eine Farbtabelle, diese hier:

8oyX


Ist es möglich, das sich bei einem Mouseover über die entsprechende Farbe ein Bild eines Produktes in der entsprechenden Farbe (Bilder vorhanden) öffnet?

Ich habe irgendwas mit Tabellenhintergrund im Kopf, aber mein html ist lange her.

Hätte wer nen Tipp parat?
 
Die Farbtabelle als html-Tabelle ausgeben und jeder Zelle ein andere Klasse (class='') zuordnen.
Jeder Klasse per CSS ein hover zuordnen, wo per url auf ein Bild verwiesen wird!
 
Das würde sich wohl am besten mit css realisieren. css4you.de ist da eine gute Seite. Nativ einfach das Bild mit display:none; ausblenden und wenn die Maus über eine Farbe gehalten wird, lässt sich das Bild dann mit display:block; oder display:inline; anzeigen.

Rein mit HTML wirst du das nicht umsetzen können. Für eine Umsetzung mit Einsatz von Javascript musst du dann wohl auf die Antwort eines anderen Nutzers warten^^
 
ah, das sieht ja nicht so schlecht aus. Das bild dann irgendwie als Tabellenhintergrund? Oder was meinst du?
 
HTML:
<html>
<title>Tooltip</title>
<style type="text/css">


* {font-family:Verdana, Arial, Helvetica, sans-serif; font-size:11px; }
a:hover {background:#ffffff; text-decoration:none;} /*BG ein muss für IE6*/
a.tooltip span {display:none; padding:2px 3px; margin-left:8px; width:130px;}
a.tooltip:hover span{display:inline; position:absolute; border:1px solid #cccccc; background:#ffffff; color:#6c6c6c;}

</style>

</head>
<body>
<a href="#" class="tooltip">Icon<span><img src="bild.png" /></span></a>.
</body>
</html>

€dit: Für icon einfach url zum jeweiligen Farbfeld.
 
Zuletzt bearbeitet:
Palace4d, ich bin gegeistert, das klappt. ich schreibe jetzt mal die Tabelle voll mit den Farben und den Links auf die Bilder.

Wie sieht es denn eigentlich aus mit den Ladezeiten bei so vielen Farben?
 
Du kannst auch mit CSS die Farb-Links und die anzuzeigenden Bilder abzählen:

Code:
a:nth-child(1) { Farbe und andere Defintionen }
a:nth-child(2) { Farbe und andere Defintionen }
a:nth-child(3) { Farbe und andere Defintionen }
usw.

So kannst du dann auch die Bilder abzählen und aufrufen:

Code:
a:nth-child(n):hover #gallery li:nth-child(n) { display: block )

Du musst dann noch eine Liste mit den Bildern anlegen, jeden li-container innerhalb der Liste oben links absolut positionieren und ausblenden, um dann bei Mouseover über einen der Links den entsprechenden li-Container/das entsprechende Bild in der Liste einblenden.

Allerdings würde ich das nicht einmal mit Links und auch nicht mit einer Tabelle machen:

Code:
<ul>
    <li>Farbcode <img src="#" width="n" height="n" alt="#" /></li>
    <li>Farbcode <img src="#" width="n" height="n" alt="#" /></li>
    <li>Farbcode <img src="#" width="n" height="n" alt="#" /></li>
</ul>

- den li-Container feste Dimensionen geben und nach links floaten lassen
- dem ul-Container feste Dimension geben, die einem Vielfachen der Dimensionen der li-Container entsprechen
- und wieder mit der Pseudoklasse :nth-child(n) jeden Punkt in der Liste ansteuern, die entsprechende Hintergrundfarbe geben
- die Bilder initial mit "display: none" ausblenden
- bei :nth-child(n):hover das entsprechende Bild per "display: block" und mit "position: absolute" und "z-index" an einer geeigneten Position einblenden


P.S.: Anstelle der der Bilder könntest du einfach ein leeres Block-Element oder ein als Block-Element definiertes Inline-Elemente platzieren, dass anstelle der Bilder angezeigt wird und in dem die Bilder per CSS geladen werden. Wenn dann auch noch alle Bilder die gleiche Größe haben, könntest du alle Bilder in einem großen Bild anordnen und als sogenannten "sprite" zur Verfügung stellen. Per "background-position" kannst du dann definieren, welcher Bereich des Bildes in dem erwähnten Block-Element angezeigt werden soll. Der Vorteile wäre, dass du nur ein großes Bild anstelle von vielen kleinen Bildern laden musst. Allerdings kann diese Methode bei der Masse der Bilder auch zu einem verwirrenden Arbeitsaufwand führen.

Mark dir aber mal das Stichwort CSS-Sprites. In vielen Situationen sind Sprites ein sinnvoller Kniff, etwa für Navigationselemente.
 
Zuletzt bearbeitet:
Zurück
Oben