Saya perlu mengubah <img>
URL sumber di hover
.
Saya telah mencoba ini tetapi tidak berhasil:
HTML
<img id="my-img" src="http://dummyimage.com/100x100/000/fff"/>
CSS
#my-img:hover {
content: url('http://dummyimage.com/100x100/eb00eb/fff');
}
Bantuan apa pun akan dihargai.
Memperbarui:
Ini hanya berfungsi untuk Webkit / Google Chrome.
content
hanya bekerja dengan:before
atau:after
begitu ini tidak akan berhasil. Mengapa tidak menggunakan adiv
dengan gambar latar belakang dan langsung mengubah gambar latar belakang itu?DIV
.content:
satu - satunya berfungsi dengan:before
atau:after
img
tag dan hanya menghapusnyasrc
dari gambar Anda. Meskipun itu agak aneh, itu akan berhasil. @HamedKamrava: Anda hanya dapat menggunakan gambar atau dapatkah Anda menggunakan yang lain?:before
atau:after
pseudo class untuk digunakancontent:url(...)
. Pembaruan: Ini hanya berfungsi untuk Webkit / Google Chrome.Jawaban:
Dengan hanya html dan css, tidak memungkinkan untuk mengubah src gambar. Jika Anda mengganti tag img dengan tag div, maka Anda mungkin bisa mengubah gambar yang disetel sebagai latar belakang seperti
Dan jika Anda berpikir Anda bisa menggunakan beberapa kode javascript maka Anda harus bisa mengubah src dari tag img seperti di bawah ini
sumber
<img src="..." style="visibility: hidden" />
Saya telah mengubah beberapa perubahan yang terkait dengan Patrick Kostjens.
DEMO
http://jsfiddle.net/ssuryar/wcmHu/429/
sumber
Saya memiliki masalah serupa tetapi solusi saya adalah memiliki dua gambar, satu tersembunyi (tampilan: tidak ada) dan satu terlihat. Saat mengarahkan kursor ke rentang sekitar, gambar asli berubah menjadi display: none dan gambar lain menjadi display: block. (Mungkin menggunakan 'inline' tergantung pada keadaan Anda)
Contoh ini menggunakan dua tag span alih-alih gambar sehingga Anda dapat melihat hasilnya saat menjalankannya di sini. Sayangnya, saya tidak memiliki sumber gambar online untuk digunakan.
sumber
span#initial
sebagai penggantispan[id="initial"]
Yang dapat Anda lakukan adalah menipu sedikit dengan menyetel
width
danheight
ke 0 untuk menyembunyikan gambar sebenarnya dan menerapkan beberapa CSS untuk melakukan apa yang Anda inginkan:Dan bantalan membuat
img
tag dengan ukuran yang Anda inginkan (setengah ukuran gambar Anda yang sebenarnya).Biola
sumber
Berikut adalah pendekatan alternatif menggunakan CSS murni. Idenya adalah untuk menyertakan kedua gambar dalam markup HTML dan menampilkan atau menyembunyikannya sesuai dengan itu pada: hover
HTML
CSS
jsfiddle: https://jsfiddle.net/m4v1onyL/
Perhatikan bahwa gambar yang digunakan memiliki dimensi yang sama untuk tampilan yang sesuai. Selain itu, ukuran file gambar ini cukup kecil sehingga memuat beberapa tidak menjadi masalah dalam kasus ini tetapi mungkin jika Anda ingin beralih tampilan gambar berukuran besar.
sumber
Mengenai semantik, saya tidak suka solusi yang diberikan sejauh ini. Oleh karena itu, saya pribadi menggunakan solusi berikut:
Ini adalah solusi khusus CSS dengan kompatibilitas browser yang baik. Itu menggunakan pembungkus gambar yang memiliki latar belakang yang awalnya disembunyikan oleh gambar itu sendiri. Saat hover, gambar disembunyikan melalui opacity, sehingga gambar latar menjadi terlihat. Dengan cara ini, seseorang tidak memiliki pembungkus kosong tetapi gambar asli dalam kode markup.
sumber
Saya punya satu solusi lagi. Jika ada yang menggunakan AngularJs: http://jsfiddle.net/ec9gn/30/
Javascript:
Tanpa CSS ^^.
sumber
Saya mengalami masalah yang sama - saya ingin mengganti gambar di: hover tetapi tidak dapat menggunakan BACKGRUND-IMAGE karena kurangnya desain adaptif Bootstrap.
Jika Anda menyukai saya hanya ingin mengubah gambar di: hover (tetapi tidak bersikeras mengubah SRC untuk tag gambar tertentu) Anda dapat melakukan sesuatu seperti ini - ini adalah solusi khusus CSS.
HTML:
CSS:
Jika Anda menginginkan kode yang kompatibel dengan IE7, Anda dapat menyembunyikan / menampilkan: gambar HOVER dengan memposisikan bukan berdasarkan opasitas.
sumber
Karena Anda tidak dapat mengubah
src
dengan CSS: Jika jQuery adalah pilihan untuk Anda, periksa biola ini.Demo
Ini pada dasarnya menggunakan
.hover()
metode ... dibutuhkan dua fungsi untuk membuatnya bekerja. Saat Anda memasukkan kursor dan saat Anda keluar.Kami menggunakan
.attr
(kependekan dari atribut) untuk mengubahsrc
atribut.Perlu dicatat bahwa Anda memerlukan pustaka jQuery yang disertakan seperti di biola untuk membuat ini berfungsi.
sumber
Biola
Setuju dengan jawaban AshisKumar,
ada cara untuk mengubah url gambar di mouse dengan menggunakan fungsi jQuery seperti di bawah ini:
sumber
a
withdisplay:block
berbeda dari div? Pemula topik ingin mengubahsrc
atributimg
throughcss
dan bukan walkaround.Secara pribadi, saya akan menggunakan salah satu solusi JavaScript / jQuery. Ini tidak hanya menjaga semantik HTML Anda (yaitu, gambar ditampilkan sebagai elemen img dengan gambar src biasanya ditentukan dalam markup), tetapi jika Anda menggunakan solusi JS / jQuery maka Anda juga akan dapat menggunakan JS / jQuery untuk memuat gambar hover Anda.
Pramuat gambar hover berarti kemungkinan tidak ada penundaan download saat pengguna mengarahkan kursor ke gambar asli, sehingga situs Anda berperilaku jauh lebih profesional.
Ini berarti Anda memiliki ketergantungan pada JS, tetapi minoritas kecil yang tidak mengaktifkan JS mungkin tidak akan terlalu sibuk - dan semua orang akan mendapatkan pengalaman yang lebih baik ... dan kode Anda juga akan bagus!
sumber
Anda tidak dapat mengubah atribut
img
tagsrc
menggunakanCSS
. Mungkin menggunakan event handler Javascriptonmouseover()
.HTML:
Javascript:
sumber
Anda tidak dapat mengubah img src menggunakan css. Anda dapat menggunakan solusi css murni berikut. HTML:
CSS:
Atau, jika Anda tidak ingin menggunakan div dengan gambar latar belakang, Anda dapat menggunakan solusi javascript / jQuery. Html:
jQuery:
sumber
Untuk ini, Anda dapat menggunakan kode di bawah ini
1) html
2) css
sumber
Di browser lama,
:hover
hanya bekerja pada<a>
elemen. Jadi Anda harus melakukan sesuatu seperti ini untuk membuatnya bekerja.sumber
Kode berikut berfungsi di Chrome dan Firefox
sumber
Inilah solusi CSS murni. Letakkan gambar yang terlihat di tag img, letakkan gambar kedua sebagai latar belakang di css, lalu sembunyikan gambar di hover.
sumber
Cara terbaik untuk mengubah
src
gambar adalah:Lihat demo langsung: http://www.audenaerde.org/csstricks.html#imagereplacecss
Nikmati!
sumber
Coba Kode Ini.
sumber
Ada cara sederhana lain hanya dengan menggunakan HTML dan CSS!
Cukup bungkus
<img>
tag Anda dengan div seperti ini:Kemudian, di file CSS Anda sembunyikan img dan atur gambar latar belakang untuk elemen div pembungkus:
Et voila!
sumber