Saya memiliki peta gambar yang ada dalam tata letak html responsif. Skala gambar sesuai dengan ukuran browser, tetapi koordinat gambar jelas-jelas berukuran piksel tetap. Opsi apa yang harus saya ubah ukuran koordinat peta gambar?
145
Jawaban:
Untuk peta gambar yang responsif, Anda perlu menggunakan plugin:
https://github.com/stowball/jQuery-rwdImageMaps (Tidak lagi dipertahankan)
Atau
https://github.com/davidjbradshaw/imagemap-resizer
http://www.howtocreate.co.uk/tutorials/html/imagemaps
Dan juga halaman ini untuk menguji apakah browser diimplementasikan
http://home.comcast.net/~urbanjost/IMG/resizeimg3.html
sumber
Anda juga dapat menggunakan svg alih-alih peta gambar. ;)
Ada tutorial tentang cara melakukan ini.
sumber
Responsif Gambar Peta Plugin jQuery oleh Matt Stow
sumber
$(window).trigger('resize');
window
dalam kasus ini). Semoga berhasil.Saya menemukan solusi yang tidak menggunakan peta gambar sama sekali melainkan tag anchor yang benar-benar diposisikan di atas gambar. Satu-satunya kelemahan adalah hotspot harus persegi panjang, tetapi plus adalah bahwa solusi ini tidak bergantung pada Javascript, hanya CSS. Ada situs web yang dapat Anda gunakan untuk menghasilkan kode HTML untuk jangkar: http://www.zaneray.com/responsive-image-map/
Saya meletakkan gambar dan tag anchor yang dihasilkan dalam tag div yang diposisikan relatif dan semuanya bekerja dengan baik pada ukuran jendela dan pada ponsel saya.
sumber
Saya menemukan cara no-JS untuk mengatasi ini jika Anda setuju dengan area klik persegi panjang.
Pertama-tama, pastikan gambar Anda berada dalam div yang diposisikan relatif. Kemudian letakkan gambar di dalam div ini, yang berarti akan mengambil semua ruang di div. Terakhir, tambahkan div yang benar-benar diposisikan di bawah gambar, di dalam div utama, dan gunakan persentase untuk bagian atas, kiri, lebar, dan tinggi untuk mendapatkan area klik tautan ukuran dan posisi yang Anda inginkan.
Saya merasa paling mudah untuk memberikan div warna latar belakang hitam (idealnya dengan beberapa alpha fading sehingga Anda dapat melihat konten yang ditautkan di bawah) ketika Anda pertama kali bekerja, dan menggunakan inspektur kode di browser Anda untuk menyesuaikan persentase secara real time , sehingga Anda bisa melakukannya dengan benar.
Inilah garis besar dasar yang bisa Anda kerjakan. Dengan melakukan semuanya dengan persentase, Anda memastikan semua elemen tetap memiliki ukuran dan posisi relatif yang sama dengan skala gambar.
Gunakan kode ini dengan inspektur kode Anda di Chrome atau browser pilihan Anda, dan sesuaikan persentasenya (Anda dapat menggunakan persentase desimal menjadi lebih tepat) sampai kotak-kotaknya tepat. Juga memilih
background-color
daritransparent
ketika Anda siap untuk menggunakannya karena Anda ingin daerah hit Anda akan terlihat.sumber
David Bradshaw menulis perpustakaan kecil yang bagus yang memecahkan masalah ini. Ini dapat digunakan dengan atau tanpa jQuery.
Tersedia disini: https://github.com/davidjbradshaw/imagemap-resizer
sumber
Metode berikut ini berfungsi dengan baik untuk saya, jadi inilah implementasi penuh saya:
sumber
Bekerja untuk saya (jangan lupa mengubah 3 hal dalam kode):
PreviousWidth (ukuran gambar asli)
map_ID (id dari peta gambar Anda)
img_ID (id dari gambar Anda)
HTML:
Javascript:
JSFiddle: http://jsfiddle.net/p7EyT/154/
sumber
Saya menemukan dengan persyaratan yang sama di mana, saya ingin menunjukkan peta gambar responsif yang dapat mengubah ukuran dengan ukuran layar dan yang penting adalah, saya ingin menyoroti koordinat itu .
Jadi saya mencoba banyak perpustakaan yang dapat mengubah ukuran koordinat sesuai dengan ukuran layar dan acara. Dan saya mendapat solusi terbaik (jquery.imagemapster.min.js) yang berfungsi baik dengan hampir semua browser. Juga saya telah mengintegrasikannya dengan Summer Plgin yang membuat peta gambar.
Semoga bisa membantu seseorang.
sumber
http://home.comcast.net/~urbanjost/semaphore.html adalah halaman teratas untuk diskusi, dan sebenarnya memiliki tautan ke solusi berbasis JavaScript untuk masalah tersebut. Saya telah menerima pemberitahuan bahwa HTML akan mendukung persen unit di masa mendatang, tetapi saya belum melihat kemajuan dalam hal ini dalam beberapa waktu (mungkin sudah lebih dari setahun sejak saya mendengar dukungan akan datang) sehingga penyelesaiannya adalah mungkin layak dilihat jika Anda merasa nyaman dengan JavaScript / ECMAScript.
sumber
Lihatlah plugin gambar-peta di Github. Ini berfungsi baik dengan JavaScript vanilla dan sebagai plugin jQuery.
Lihat demo .
sumber
Tergantung, Anda dapat menggunakan jQuery untuk menyesuaikan rentang secara proporsional menurut saya. Ngomong-ngomong, mengapa Anda menggunakan peta gambar? Tidak bisakah Anda menggunakan scaling divs atau elemen lain untuk itu?
sumber
Bagi mereka yang tidak ingin menggunakan JavaScript, berikut adalah contoh pengiris gambar:
http://codepen.io/anon/pen/cbzrK
Saat Anda mengatur skala jendela, gambar badut akan menskala sesuai, dan ketika itu terjadi, hidung badut tetap hyperlink.
sumber
Mirip dengan jawaban Orland di sini: https://stackoverflow.com/a/32870380/462781
Dikombinasikan dengan kode Chris di sini: https://stackoverflow.com/a/12121309/462781
Jika area-area tersebut pas dalam kisi, Anda dapat menindih area dengan gambar transparan menggunakan lebar dalam% yang menjaga rasio aspeknya.
Anda dapat menggunakan margin dalam%. Selain itu, gambar "spasi" dapat ditempatkan bersebelahan di dalam div level ke-3.
sumber
Untuk beberapa alasan tidak ada solusi ini bekerja untuk saya. Saya sudah sukses menggunakan transformasi.
sumber
lebar && tinggi responsif
sumber