• Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!

Img:hover Position verändern

the_zoker_09

Mitglied
Hallo zusammen,

Ich habe ein Problem:

Ich möchte eine Position eines Bilder über ein hover verändern.
Mit "background-poisition" in einem div geht das ja ganz leicht.

Ich kann das Bild aber nicht als "background" verwenden, weil ich sonst kein Link drüber setzten kann. (ausser man kann mit CSS neuerdings Links setzten :P )

Also muss ich das ganze über ein normales "img" lösen.

Aber sowas funktioniert ja leider nicht:
Code:
<div id="bildcontainer">
     <a href="link"><img src="/bild.jpg"></a>
</div>


#bildcontainer img {
     position: -34px bottom;
}

#bildcontainer img:hover {
    position: 0 bottom;
}

Aber genau sowas brauch ich.

Wie kann ich das am besten lösen?

Vielen Dank
the_zoker_09
 
Ich bin der Meinung das ich sowas mal so gelößt habe:

<a href="link"><div id="bildcontainer"><img src="/bild.jpg"></div></a>

jedoch ist es nicht valide.... aber gehen tut es das :D wenn es valide sein soll dan lass die div weg...
 
aso ok...

<div id="bildcontainer" style="background-image: url(/bild.jpg);"></div>

#bildcontainer:hover{
background-image: url(/bild2.jpg);
}
 
ICh glaube ich verstehe dich nicht so ganz....
Was willst du ? Soll das bild reinscrollen?
Oder nur auftauchen wenn man mit der mouse drüber geht?

Weil wenn du es reinscrollen willst, musst du das mit JS machen und die position langsam stück für stück verschieben...
Wenn es nur um das Anzeigen geht würde ich das bild einfach überschreiben.... bzw. ändern
 
Nein das eigentliche bild ist doppelt so breit wie das, das angezeigt wird.

Wenn man nichts macht, wird die erste Hälfte angezeigt und wenn man mit der Maus drüber geht, wird der zweite Teil angezeigt.
So braucht man für ein hover mit Bildwechsel nur ein Bild
 
Warum so umständlich ?
OK, verstehe es aber jetzt... :D


<div id="bildcontainer">
<a href="link"><img id="pic" src="/bild.jpg"></a>
</div>

#pic {
margin-bottom: -34px ;
}

#pic:hover
{
margin-bottom: 0px;
}

geht das denn so nicht?
 
Das passt aber nicht ganz zu:

Wenn man nichts macht, wird die erste Hälfte angezeigt und wenn man mit der Maus drüber geht, wird der zweite Teil angezeigt.
So braucht man für ein hover mit Bildwechsel nur ein Bild

Was Du beschreibst wird "CSS Sprite" genannt. Dort wird es allerdings auf Hintergrundbilder angewendet. Wieso musst Du unbedingt das Bild als <img> einfügen? Darauf kannst Du in dem Fall durchaus verzichten, es sei denn das Bild soll auch eine semantische Bedeutung haben.

Wenn Du unbedingt das <img> behalten willst, positioniere es per absoluter Positionierung innerhalb des Links neu. Außerdem solltest Du für den Link eine feste Höhe und Breite geben. Umständlich im Vergleich zu der Hintergrund-Möglichkeit.
 
Zurück
Oben