Ссылка внутри <li>не работает - PullRequest
4 голосов
/ 01 ноября 2011

Довольно простой орех, который я пытаюсь взломать.Я делаю ролловеры изображений только с CSS.Когда я подключил ссылку 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 голосов
/ 01 ноября 2011

Ваш .AboutUsNav имеет text-indent: -99999px;, вытягивая a за пределы интерактивного окна просмотра.

Возможно, вы захотите поместить отрицательный text-indent на саму a, а затем установить элемент a на display: block; width: 100%; height: 100%, в зависимости от ваших обстоятельств.

0 голосов
/ 01 ноября 2011

спасибо за вашу помощь. Я попробовал подход, который вы оба рекомендовали. Я думаю, что это определенно работает при определенных обстоятельствах. Для меня мое фоновое изображение просто не показывалось, но ссылки работали.

Я решил эту проблему, оставив 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/

0 голосов
/ 01 ноября 2011

не применять текстовый отступ и фон для списка - вместо этого сделайте это для ссылки.

Пример:

<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;
}
...