Кирилл Е.
2817 сообщений
#15 лет назад
Ну вот ).. смотрите какие кнопки )..

угу.. спрайт самое то, должно проканать..
Кирилл Е.
2817 сообщений
#15 лет назад
Цитата ("an3537"):
А как можно сделать, чтобы шар-кнопка при загрузке уже подгружен был? Последовательность переставить, или как?


нужно чтобы картинка с кнопкой была как-би двойной... тоесть верхняя часть - серая кнопка, нижняя половина - розовая, и просто позиционированием, или как-то так (в зависимости от особенности верстки) делаете сначала отображение верхней половины картинки, при наведении - фон\картинка сдвигается вверх на половину и видите розовую кнопку, как-то так.

ЗЫ: набросал бы пример, но лень
Екатерина Ш.
488 сообщений
#15 лет назад


Спрайтом, те при наведении на нее мышью прописать в css сдвиг фона
Екатерина Ш.
488 сообщений
#15 лет назад
Оффтопик
Цитата ("kirilev"):
ЗЫ: набросал бы пример, но лень
а мне не лень :P
Кирилл Е.
2817 сообщений
#15 лет назад
Цитата ("kulibinn"):
а мне не лень

хвала и почёт
Екатерина Ш.
488 сообщений
#15 лет назад
Css примерно такой:

a.button {
background:url(button.jpg) left -89px no-repeat;
height:89px;
width:80px;
display:block;
}
a.button:hover {
background-position:left top;
}
Андреенко А.
14 сообщений
#15 лет назад
kulibinn, Большое спасибо за ответ на вопрос.
Михаил В.
2195 сообщений
#15 лет назад
Проблема популярная. Верстальщик наверняка прописал для кнопки две разных картинки, что и создает эффект пропажи кнопки.
Вариантов решения два - либо предзагрузка картинок тем или иным способом, либо с использованием css-спрайтов, как написал выше kulibinn.

Но при использовании спрайтов, опять же, возникнет неприятный "background flicker" баг в IE6, который тоже придется лечить
Например, так:
try{document.execCommand("BackgroundImageCache",false,true);}catch(err){}
Екатерина Ш.
488 сообщений
#15 лет назад
Не знала об этом, но мерцание в ие замечала, спасибо Sir_Michael теперь и я буду знать
Роман В.
99 сообщений
#15 лет назад
Тут написано как ПРЕзагрузить картинку:

Еще можно сделать спрайтом:
Дмитрий Войциховский
2128 сообщений
#15 лет назад
Более корректно (никаких фликов не замечал):

a.button {
background:url(button.jpg) top left no-repeat;
height:89px;
width:80px;
display:block;
}
a.button:hover {
background:url(button.jpg) bottom left;
}
Екатерина Ш.
488 сообщений
#15 лет назад
raznomir, а чем корректнее можно спросить?
Константин Ищенко
105 сообщений
#15 лет назад
Самое интересное в этой теме, что автором является заказчик.
А горе-верстальщику глубоко начхать почему у него кнопка со второго раза отображается.
Вот он - матерый профессионализм.
Дмитрий Войциховский
2128 сообщений
#15 лет назад
Потому что ряд браузеров не любит отрицательные значения размеров/расстояний и проч...
Константин Ищенко
105 сообщений
#15 лет назад
raznomir, что еще попадает в категорию "ряд браузеров" кроме ИЕ6?
NN4?
Артем Л.
11416 сообщений
#15 лет назад
Браузеры бывают разные… Бывают нормальные, бывают не очень. А ещё есть Internet Explorer.
Дмитрий Войциховский
2128 сообщений
#15 лет назад
2frags, список браузеров:
Александр Г.
4109 сообщений
#15 лет назад
Оффтопик
А ещё есть Internet Explorer. :P :P
Михаил В.
2195 сообщений
#15 лет назад
raznomir, в вашем примере будет та же описанная мной проблема.

Ну а css и я тоже напишу
.button {
display:block;
width:80px;
height:89px;
background:url(button.jpg) no-repeat;
}
.button:hover {background-position:0 100%}
Екатерина Ш.
488 сообщений
#15 лет назад
raznomir, Sir_Michael, не ссорьтесь
проблема мерцания решаестся с помощью css-спрайтов и Цитата ("Sir_Michael"):
Но при использовании спрайтов, опять же, возникнет неприятный "background flicker" баг в IE6, который тоже придется лечить
Например, так:
Код:
1try{document.execCommand("BackgroundImageCache",false,true);}catch(err){}


а как написать для спрайта код - это уже дело техники и вкуса