这是CSS:
ul#menu li a:link,ul#menu li a:visited {color:#333333;text-decoration:none;}
ul#menu li a:hover,ul#manu li a:active {color:#a61607;text-decoration:none;}
ul#menu li img {display: none;}
ul#menu li:hover img {display: inline-block;}
我对所有三个链接都使用了相同的图像,搜索了一张要使用的测试图像。显然,您将使用您想要的任何图像。
<ul id="menu">
<li>
<a href="index.aspx">
Home
<img src="http://icons.mysitemyway.com/wp-content/gallery/3d-glossy-green-orbs-icons-symbols-shapes/thumbs/thumbs_104626-3d-glossy-green-orb-icon-symbols-shapes-check-mark5-ps.png" />
</a>
</li>
<li>
<a href="about.aspx">
About
<img src="http://icons.mysitemyway.com/wp-content/gallery/3d-glossy-green-orbs-icons-symbols-shapes/thumbs/thumbs_104626-3d-glossy-green-orb-icon-symbols-shapes-check-mark5-ps.png" />
</a>
</li>
<li>
<a href="sample.aspx">
Sample
<img src="http://icons.mysitemyway.com/wp-content/gallery/3d-glossy-green-orbs-icons-symbols-shapes/thumbs/thumbs_104626-3d-glossy-green-orb-icon-symbols-shapes-check-mark5-ps.png" />
</a>
</li>
</p>
编辑以回应 op 的评论
如果您希望在滚动锚点而不是 li 时显示图标/图像。您可以将第 4 行 css 更改为以下内容:
ul#menu a:hover img {display: inline-block;}
但是,我不知道您必须使用哪些额外的 CSS 来调整元素的大小或位置。当我在 jsfiddle 中只运行这个 CSS 和 HTML 时,我遇到了一个“颤抖”的问题。当悬停在锚点上时,图像会显示,但它会重新定位所有其他元素,并且会发生一种悬停/非悬停。如果我添加以下 CSS 规则,使我的锚点在列表/列表项块元素中,我没有问题。
ul#menu li a {display: block;}
此外,您还可以设置锚点或 li 元素的高度/宽度或填充以适应图像的尺寸。