@axeax

Почему спрайт работает не полностью?

Ситуация такая: есть сайт, есть спрайт с кнопками и иконками, есть CSS который работает со спрайтом.
У кнопок есть 2 состояния: мышь есть, мыши нет.
Так вот, почему-то в 50% случаев обычное состояние (нет мыши) кнопки не отображается, как будто спрайта нет. Казалось бы, что это может быть из за того что спрайт не успевает прогрузиться к моменту рендеринга страницы, но нет. После обновления кнопка так и не появляется, хотя при наведении работает. Причем состояние наведения в спрайте находится ниже (изображения же грузятся сверху вниз...).
Еще момент. Если в chrome dev tools дебажить css код, и сдвинуть позицию спрайта на пиксель вперед-назад, то она появляется. Опять таки, после обновления страницы исчезает.
После чистки кэша как повезет, то работает то нет.
Вот кусок CSS
.message .button{
width:240px;
padding:9px 15px 0;
height:30px;
font-size:18px;
background:url(sprites/buttons-sprite.png) -9px -9px no-repeat;
display:block;
cursor:pointer;
text-decoration:none;
margin:15px 0 auto
}
.message .button:hover{
background:url(sprites/buttons-sprite.png) -9px -47px no-repeat
}
  • Вопрос задан
  • 2780 просмотров
Пригласить эксперта
Ответы на вопрос 2
@ultrbi4
Вы сами ответили на свой вопрос в видео, исправьте на значение, которое Вы меняете в devtools.
Ответ написан
DeLaVega
@DeLaVega
Верстаю, фронтэндю =)
Я бы сделал так:
Во-первых на ховере я бы сделал просто изменение позиции фона, то есть
.message .button:hover{
background-position:  -9px -47px;
}

Вы и так уже указали картинку, второй раз делать это нет смысла.

Чтобы понять, что трабла именно с картинкой, а не с видимостью блока, то замените картинку цветами. То есть изначально допустим просто красный фон, а по ховеру зелёный. Если всё хорошо - то отлавливать дальше.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы