Wie in CSS img source ändern?
Hey:)
Ich habe hier ein Profilbild das rot ist.
<img src=“avatar.png” class=“avatar”>
und es soll gelb werden bei .avatar:hover
Habe deshalb das Selbe Bild nochmal in gelb mit dem namen avatar2.
Wie kann ich das jetzt machen?
.avatar:hover{
src: url(“avatar2.png”);
}
geht leider nicht und ja, die bilder sind im gleichen ordner;/
Danke für Hilfe❤️
1 Antwort
Es existiert keine Möglichkeit mit guter Browserkompatibilität, um Bilder mit CSS zu ändern. Deshalb schlage ich vor, mit Hintergrundbildern zu arbeiten. Dazu erstellst du einen Wrapper für dein Bild:
<div class="avatar-wrapper">
<img src=“avatar.png” alt="Avatar" class=“avatar” />
</div>
Anschließend weist du dem Wrapper ein Hintergrundbild zu, welches zunächst jedoch durch das eigentliche Bild verdeckt ist:
.avatar-wrapper {
display: inline-block;
background-image: url(avatar2.png);
}
Beim Hovern verbirgst du nun das vordere Bild, indem du es transparent machst:
.avatar-wrapper >.avatar:hover {
opacity: 0;
}
Zudem ist noch folgender Fix erforderlich:
.avatar-wrapper > .avatar {
vertical-align: top;
}
Hier ein Live-Beispiel: https://jsfiddle.net/w2x3tsz0/