链接在<li>标签内无法工作

4

这个问题其实很简单,我正在尝试使用纯CSS实现图像翻滚效果,但是当我插入了a href链接时,它就无法正常工作。所谓无法正常工作是指它不会像一个链接那样运作,结果你也无法通过点击来进入该页面。我认为这可能与<li>有关,但我无法确定具体原因。以下是我的HTML和CSS代码:

CSS

    ul.navigation,
    ul.navigation ul {
    margin: 25px 0 0 0;
    }
    ul.navigation li {
    list-style-type: none;
    margin:15px;
  }

.AboutUsNav{
    display: block;
    width: 159px;
    height: 54px;
    background: url('../images/N_About_Us.png') bottom;
    text-indent: -99999px;
}
.AboutUsNav:hover {
    background-position: 0 0;
}

HTML

<div>
<ul class="navigation">
<li class="AboutUsNav"><a href="/about">About Phin &amp Phebes Ice Cream</a></li>
<li class="FlavorsNav"><a href="/flavors">Ice Cream Flavors</a></li>
<li class="WheretoBuyNav"><a href="/buy">Where to Buy Our Ice Cream</a></li>
<li class="WholesaleNav"><a href="/wholesale">Wholesale Orders Ice Cream</a></li>
<li class="ContactUsNav"><a href="/contact">Contact Phin &amp; Phebes Ice Cream</a></li>
<li><a href="http://phinandphebes.com/about">about</a></li>

</ul>
</div>
3个回答

3
您的 .AboutUsNav 有一个 text-indent: -99999px;,将 a 拉到了可点击视口之外。
您可能希望在 a 上设置负的 text-indent,然后根据您的情况将 a 元素设置为 display: block; width: 100%; height: 100%

0

不要将text-indent和background应用于列表 - 而是应该应用于链接。

例如:

<div id=​"main_nav">
    <li class="home">
        <a href="/">Home</a>
    </li>
    <li class="news">
        <a href="/">News</a>
    </li>
</div>

CSS:

#main_nav a {
    background-image:url();
}
#main_nav .home a {
    width: 82px;
    background-position: 0px 0px;
}
#main_nav .news a {
    width: 85px;
    background-position: 82px 0px;
}

0

感谢您的帮助。我尝试了你们两个推荐的方法。我认为这在某些情况下肯定有效。对于我来说,我的背景图片就是不显示,但链接是可以工作的。

最终,我通过保持CSS不变,但更改HTML标记来解决了这个问题:

<div>
<ul class="navigation">
    <li><a class="AboutUsNav" href="/about">About Phin &amp; Phebes Ice Cream</a></li>
    <li><a class="FlavorsNav" href="/flavors">Phin &amp; Phebes Flavors</a></li>
    <li><a class="WheretoBuyNav" href="/buy">Where to Buy Phin &amp; Phebes Ice Cream</a></li>
    <li><a class="WholesaleNav" href="/wholesale">Wholesale Orders Ice Creamf</a></li>
    <li><a class="ContactUsNav" href="/contact">Contact Phin &amp; Phebes Ice Cream</a></li>
</ul>

我正在使用这个演示进行工作,但它没有包括无序列表:http://kyleschaeffer.com/best-practices/pure-css-image-hover/


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接