CSS-спрайты все еще делают новые запросы - PullRequest
1 голос
/ 20 февраля 2012

Я использую спрайты CSS, однако, когда я нахожу на него указатель, я делаю еще один запрос на то же изображение и вызываю мерцание. Есть идеи, почему он делает 2 запроса? Вот мой код:

.btn-red-lrg .left {background:url(../images/site-sprite.png) no-repeat 0px 0px transparent;width: 9px;}     
.btn-red-lrg:hover .left {background:url(../images/site-sprite.png) no-repeat 0px -37px transparent;width: 9px;}

Ответы [ 2 ]

5 голосов
/ 21 февраля 2012

Не используйте свойство background -shorthand .Вместо этого используйте background-position, поскольку вы хотите обновить только позицию.

/* no need for width, background-image etc. */
.btn-red-lrg:hover .left {background-position: 0px -37px;}

Указание background-image:url(...) для псевдокласса :hover может привести к новому запросу, еслимеханизм кэширования недостаточен или срок действия отсутствует / неверен (см. ответ Джеффа ).Изменение только позиции не приведет к новому запросу независимо от браузера.

1 голос
/ 21 февраля 2012

Какой браузер вы используете?Это известная ошибка при использовании Internet Explorer 6. Решение состоит в том, чтобы добавить заголовки expires к изображению на сервере.

...