Как создать сайт или блог в 2020 году - бесплатное и простое руководство по созданию сайта

Бесшовные ролловеры изображений с помощью CSS

Вы когда-нибудь замечали, что иногда, когда вы наводите курсор на изображение, оно на секунду гаснет, а затем загружает изображение? Однако, когда вы отступаете, все идеально.

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

Это связано с тем, что необходимо загрузить два отдельных изображения, а второе (при наведении курсора) загружается дольше, когда активирован эффект прокрутки.

В этом посте я покажу вам, как удалить это отставание, используя метод CSS, который загружает все изображение сразу и отображает его часть.

Совместите картинку

Первый шаг для этого – объединить обе половины изображения в одну. Для этого вы можете использовать любой редактор изображений по вашему выбору, просто скопируйте оба изображения, удвойте высоту и вставьте неактивное изображение поверх активного.

Лестница 2Подземная лестница

Изображение посередине должно быть тем, что вы ищете. Теперь перейдем к CSS.

Код

Первый шаг в CSS – ограничить высоту изображения половиной (в основном, чтобы отображалась только верхняя лестница).

Для целей этого руководства мы будем использовать класс с именем .rollover-tut. Поскольку исходное изображение лестницы имеет размер 153 × 149, мы будем использовать этот код CSS:

.rollover-tut {
height: 149px;
width: 153px;
display: block;
}

Поскольку мы создаем ссылку, мы будем использовать следующий HTML-код:


На этом этапе ваша ссылка должна выглядеть как исходное изображение лестницы, без эффекта прокрутки (пока).

Лестница 1

Чтобы эффект наведения работал, мы будем использовать свойство CSS, называемое background-position, в псевдоклассе: hover.

.rollover-tut:hover {
background-position: 0 -149px;
}

С помощью приведенного выше кода CSS вы перемещаете фоновое изображение на 149 пикселей (помните, высота лестничного изображения или половина обоих вместе).

Более простой способ запомнить – использовать следующий код прокрутки, который будет иметь тот же эффект, что и выше, и вам не придется запоминать какие-либо числа (подсказка: Art Webb через комментарии):

.rollover-tut:hover {
background-position: bottom left;
}

И вот что вы получите:

Обратите внимание, что теперь нет задержки между эффектом наведения, так как все изображение загружается сразу.

вывод

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

Надеюсь, всем понравился этот совет по CSS. Если у вас есть идеи для будущих постов с советами по CSS, дайте мне знать в комментариях.