我正在實現一個Angular組件,其中有很多用戶可以點擊的小區域。 我看到2種方式如何做到這一點:HTML圖像映射與多個div元素
- 使用背景圖片並定義用戶可以點擊,在圖像上添加單擊處理程序映射區域。
- 爲每個可點擊的部分使用div並將點擊處理程序附加到父元素(所以我沒有多個點擊處理程序在每個div)。使用CSS來設置每個div的樣式,使其看起來像1中的圖像。
1.的問題是,當圖像發生變化時,我也必須更改地圖座標。 這裏的優點是它在許多瀏覽器中應該沒有問題。
2.的優點是我可以根據需要設計組件的樣式(所以它可以更小,更大,不同的字體等),但是當我需要顯示多個組件時它可能會對性能產生影響這樣的組件。
你會選擇哪種方式,爲什麼?或者還有其他的可能嗎?
編輯: 忘了提及該組件還應該在移動設備上
無論哪種方式,如果圖像發生變化,您需要調整座標。也許其中一些可以很容易地通過CSS實際處理座標或座標,但實際上可以歸結爲基於您的用例的意見和判斷調用。出於這個原因,我投票結束這主要是基於意見。 – zzzzBov