2010-11-09 56 views
4

我目前有一個巨大的頭痛,試圖讓我建立一個網站跨可變分辨率工作。主要導航是通過需要填充大部分視口的圖像映射。我知道這是完全過時的,但圖像地圖似乎是唯一的允許多邊形區域分隔的非Flash解決方案 - 我想雖然!如何將圖像映射合併到流體佈局中?

我最終成功地調整了網站大小,允許主圖像在較小的顯示器上使用條件jQuery & CSS顯示,但是也調整了slickbox中的文本大小,這看起來很糟糕! (非常未完成)是here。我知道導航還不完全清楚(懸停並點擊繪畫顏色),但我想先排序此問題。

我的問題,在總結:

  1. 是否有不使用影像地圖創建這個多邊形熱點鼠標經過圖像的另一種方式?
  2. 是否有其他方式來調整圖像映射和重疊的slickboxes,同時保持文本大小相同?

非常感謝 - 整個週末一直拉着頭髮!

+0

我以前自己面對這個問題,但我從來沒有找到解決方案。我很想看看有什麼答案。 – casablanca 2010-11-09 19:22:13

+0

@casablanca我編輯我的答案與我現在可以想到的唯一方法現在,相對值不起作用 – 2010-11-09 19:31:25

回答

2

編輯:百分比方法不起作用。

在這種情況下,我可以看到的唯一的事情是這樣的:

在使用百分比符號的形狀:

<area shape="rect" coords="0,0,0,0" mycoords="1%,3%,25%,29%"> 

在第一次抽籤,並在每一個窗口大小調整:

  • 解析每個區域的mycoords屬性

  • 個分流百分比爲四個整數

  • 計算百分比基於圖像的.width()財產

  • 設置基礎上,正是如此計算的像素面積的coords屬性值

不完全是微不足道的,但這應該經驗豐富的jQuery專家可以輕鬆實現。

老答案:

嗯。所以你有一個需要動態調整大小的圖像映射?

我從來沒有嘗試過這個自己,但對於使用相對座標=

<area shape="rect" coords="1%,3%,25%,29%"> 

不知道這是否工作,但值得一試。

+0

我會試試這個;) – Harmen 2010-11-09 19:21:06

+2

不幸的是,這是行不通的。我只是在Firefox中測試了它,它完全忽略了'%',將數字解釋爲像素座標。 – casablanca 2010-11-09 19:25:41

+1

@casablanca,Chrome上的結果相同 – Harmen 2010-11-09 19:27:23

1

這是有點有限,但你可以用HTML/CSS做不規則的形狀。

A List Apart

CSS Play

你應該能夠適應那些你的目的之一。

編輯:

關於調整圖像大小,你需要在你的CSS使用,而不是在像素硬編碼它們的相對寬度

事實上,有一個靈活的框架,可能已採取多照顧對你而言: Check out CSS Grid

+0

這是有趣的(很好的鏈接!),但沒有幫助調整大小的問題,是嗎? – 2010-11-09 19:46:59

+0

但相對寬度在圖像映射中不起作用,那是我們上面討論的問題 – 2010-11-09 20:18:30

+0

這是正確的。我向你提出的建議是放棄圖像映射,並將我給出的鏈接合併到將爲你僞裝的項目中。 – 2010-11-09 20:19:49

0

流體設計中的熱點的另一個解決方法是在Edge Animate中創建具有鏈接的響應靜態圖像。 熱點(或充當熱點的圖層)完全響應。缺點是從Edge輸出時,50kb圖像的大小約爲120kb。說了一個相當快的解決方法。