我的导航栏中有这样的图标(http://d.pr/i/NP2T)。当我将鼠标悬停在一个图标上时,我希望图标消失并显示该列表项的链接文本(http://d.pr/i/Vd7i)。
这是我的HTML:
<div id="npnav">
<ul>
<li class="current music"><a href="#">Music</a></li>
<li class="art"><a href="#">Art</a></li>
<li class="goods"><a href="#">Goods</a>/li>
<li class="blog"><a href="#">Blog</a></li>
</ul>
</div>
这是我的CSS:
#npnav ul {
list-style:none;
padding-top:15px;
}
#npnav li {
display:inline-block;
padding:10px;
text-decoration:none;
font-weight:bold;
max-width:60px;
max-height:60px;
}
#npnav li a {
visibility: hidden;
}
#npnav li a:hover {
visibility: visible;
}
li.music {background:url('/images/headphone_icon.png') center center no-repeat; }
li.music:hover {background:none;}
li.art {background:url(img/nav-aboutHover.gif) center center no-repeat;}
li.art:hover {background:none;}
li.goods {background:url('/images/anchor_icon.png') center center no-repeat;}
li.goods:hover {background:none;}
li.blog:hover {background:url('/images/blog_icon.png') center center no-repeat;}
li.blog:hover {background:none;}
我很感激任何帮助,因为我无法找到任何教程用文本替换悬停。感谢。
答案 0 :(得分:1)
一个选项是在每个<a>
内添加一个额外的跨度,为其提供所需的背景图像,并将其绝对放在链接文本上(将链接设置为position:relative)。在悬停时,将跨度的位置设置为向左移动以将其移出屏幕。
答案 1 :(得分:1)
鉴于此HTML:
<div id="npnav">
<ul>
<li class="current music"><a href="#">Music</a></li>
<li class="art"><a href="#">Art</a></li>
<li class="goods"><a href="#">Goods</a>/li>
<li class="blog"><a href="#">Blog</a></li>
</ul>
</div>
假设图标是li
的背景图片,你可以拥有这个CSS:
.current.music { background-image: url(someImageUrl); }
.art { background-image: url(someImageUrl); }
/* etc */
#npnav li a {
display: none;
}
#npnav li:hover {
background-image: none;
}
#npnav li:hover a {
display: inline;
}
答案 2 :(得分:1)
尝试将CSS修改为类似的内容 -
#npnav ul {
list-style:none;
padding-top:15px;
}
#npnav li {
display:inline-block;
padding:10px;
text-decoration:none;
font-weight:bold;
width:60px;
height:60px;
}
#npnav li a {
display:block;/*Ensure link covers the full space of the li */
text-indent: -9000px; /*hide text away to the left */
line-height:60px;
}
#npnav li a:hover {
text-indent: 0;/* Display the text on mouse over */
}
li.music {background:url('/images/headphone_icon.png') center center no-repeat; }
li.music:hover {background:none;}
li.art {background:url(img/nav-aboutHover.gif) center center no-repeat;}
li.art:hover {background:none;}
li.goods {background:url('/images/anchor_icon.png') center center no-repeat;}
li.goods:hover {background:none;}
li.blog:hover {background:url('/images/blog_icon.png') center center no-repeat;}
li.blog:hover {background:none;}