Как мне создать ссылку из спрайт-изображения? - PullRequest
1 голос
/ 19 марта 2012

В этом jsfiddle Я пытаюсь создать ссылку, которая покрывает все изображение спрайта.По какой-то причине атрибуты высоты и ширины a не работают.

Что я могу сделать, чтобы создавать ссылки из спрайтовых изображений?

Ответы [ 4 ]

4 голосов
/ 19 марта 2012

добавьте display:inline-block или display:block к a, чтобы размеры работали.размеры не вступают в силу для inline элементов.

2 голосов
/ 19 марта 2012

Я обновил вашу скрипку . Теперь ссылка покрывает все изображение, и это делается путем превращения ссылки в элемент block с display: block, как и во многих других приведенных выше ответах. Я также добавил селектор идентификатора ко всем вашим другим селекторам и переместил селектор и объявление, где фактическое фоновое изображение объявляется вверху. Причина этого заключается в том, что background-position элемента li были перезаписаны из-за отсутствия специфичности и из-за порядка ваших объявлений CSS.

1 голос
/ 19 марта 2012

Используйте это

// Code shifted to the end.

Где CSS похож на это:

.sprite-sp1{ 
    background-position: 0 0; 
    width: 242px; 
    height: 244px; 
} 
.sprite-sp1 a{
    width: 242px;
    height: 244px;
    border: 1px solid;
}
.sprite-sp2{ 
    background-position: 0 -294px; 
    width: 241px; 
    height: 244px;
} 
#container li {
    background: url(http://i.imgur.com/iDrt8.png) no-repeat top left;
}

РЕДАКТИРОВАТЬ Отредактировано, чтобы спрайт можно было нажимать.Новый код должен быть:

<ul id="container">
    <li><a href="http://google.com/"><span class="sprite-sp1"></span>test</a></li>
    <li><span class="sprite-sp1"></span></li>
</ul>

0 голосов
/ 19 марта 2012

Добавьте display:block; к a, тогда будет работать ...

...