最簡單的方法來實現,這是插入上懸停圖像(這當然會與正常圖像具有相同的尺寸),並在其頂部堆疊一個元素,該元素將具有「正常狀態」圖像作爲背景。然後在懸停時,隱藏堆疊元素以顯示懸停圖像。錨本身現在本身將具有圖像尺寸,堆疊元件也是如此。
HTML:
<ul>
<li><a href class="link1"><img src="link1-hover-image.png"><span></span></a></li>
<li><a href class="link2"><img src="link2-hover-image.png"><span></span></a></li>
<li><a href class="link3"><img src="link3-hover-image.png"><span></span></a></li>
</ul>
CSS:
a { position: relative; }
a img { vertical-align: bottom; } /* little hack for correct placement */
a span { display: block; position: absolute; width: 100%; height: 100%; top: 0; left: 0; }
a:hover span { opacity: 0; }
.link1 span { background-image: url(link-1-image.png); }
.link2 span { background-image: url(link-2-image.png); }
.link3 span { background-image: url(link-3-image.png); }
DEMO
但像大家說;儘可能使用普通的CSS。更快,更容易維護。所以只有在實際上不可能使用CSS來設計按鈕時才使用它。
我使用的CSS樣式,它乾淨,性能更好 - 如果這些圖像是設計的一部分,不會動態改變 –
如果僅限圖像的導航欄如此常見,就像您說的那樣,他們呢?使用檢查員,看看他們是如何做的。如果我必須這樣做,我會使用CSS。 – Jeff
你不想添加img標籤,你不想使用背景圖片,你不想給寬度,高度!沒有任何離開的朋友..!除了字體圖標!現在,即使我很好奇,你會怎麼做 –