標籤:
img元素允許我們在HTML文檔裡內嵌影像。
要嵌入一張映像需要使用src和alt屬性,代碼如下:
<img src="../img/example/img-map.jpg" alt="Products Image" width="580" height="266" />
顯示效果:
1 在超連結裡內嵌影像
img元素的一個常見用法是結合a元素建立一個基於映像的超連結,代碼如下:
<a href="otherpage.html"> <img src="../img/example/img-map.jpg" ismap alt="Products Image" width="580" height="266" /></a>
瀏覽器顯示這張圖片的方式沒有什麼不同。因此,重要的一點事要向使用者提供視覺提示,表明特定映像所代表的是超連結。具體的做法可以是利用CSS,能在映像內容裡表達則更好。
如果點擊這種圖片,瀏覽器會導航至父元素a的href屬性所指定的URL上。給 img 元素應用 ismap 屬性就建立了一個伺服器端分部響應圖,意思是在映像上點擊的位置會附加到URL上。舉個例子,如果點擊的位置是距映像頂部8像素,左邊緣10像素,瀏覽器就會導航到下面的地址:
https://yexiaochao.github.io/show4cnblogs/otherpage.html?10,8
下面代碼展示了 otherpage.html 中的內容,它包含了一個簡單的指令碼,用來顯示點擊位置的座標:
<body><p>The X-coordinate is <b><span id="xco">??</span></b></p><p>The Y-coordinate is <b><span id="yco">??</span></b></p><script type="application/javascript"> var coords = window.location.href.split(‘?‘)[1].split(‘,‘); document.getElementById("xco").innerHTML = coords[0]; document.getElementById("yco").innerHTML = coords[1];</script></body>
可以看到滑鼠點擊產生的效果:
伺服器端分區響應圖通常意味著伺服器會根據使用者在映像上點擊地區的不同做出有差別的反應,比如返回不同的響應資訊。如果省略了img元素上的 ismap 屬性,滑鼠點擊的座標就不會被包含在請求 URL 中。
2 建立用戶端分區響應圖
我們可以建立一個用戶端分區響應圖,通過點擊某張映像上的不同地區讓瀏覽器導航到不同的URL上。這一過程不需要通過伺服器引導,因此需要使用元素定義映像上的各個地區以及它們所代表的行為。用戶端分區響應圖的關鍵元素是 map,map元素包含一個或多個area元素,它們各自代表了映像上可被點擊的一塊地區 。
area元素的屬性可以分為兩類,第一類處理的是area所代表的映像地區被使用者點擊後瀏覽器會導航到的URL。介紹了這一類屬性,它們類似於在其他元素上見到過的對應屬性。
第二類則包含了更有意思的屬性:shape 和 coords 屬性。可以用這些屬性來標明使用者可以點擊的各個映像地區。 shape 和 coords 屬性是共同起作用的。 coords 屬性的意思根據 shape 屬性的值而定,正如所示:
介紹完這些元素後,舉個例子,代碼如下:
<body> <img src="../img/example/img-map.jpg" ismap alt="Products Image" usemap="#mymap" width="580" height="266" /><map name="mymap"> <area href="javascript:show_page(1)" shape="rect" coords="‘34,60,196,230" alt="product 1" /> <area href="javascript:show_page(2)" shape="rect" coords="‘210,60,370,230" alt="product 2" /> <area href="javascript:show_page(3)" shape="rect" coords="‘383,60,545,230" alt="product 3" /></map><script type="application/javascript"> function show_page(num){ //通過對話方塊顯示產品,表示對應的跳轉頁面 alert("This is product "+num); }</script></body>
點選連結查看效果:http://yexiaochao.github.io/show4cnblogs/img-map.html
顯示效果是一樣的,只是在點擊對應的產品圖片,會彈出對應的產品名稱,表示跳轉的產品頁面。
【溫故而知新-HTML】內嵌影像