Как сделать, чтобы картинка менялась при наведении на нее курсора мыши? Меняем цвет элемента по наведению мышки.


Доброго времени суток, друзья! Это очередная статья, написанная по просьбе одного из читателей моего блога. Сегодня мы реализуем возможность отображения картинки при наведении курсора мыши на ссылку. Зачем это может быть нужно? Все очень просто, таким способом можно сохранить пространство на сайте и вместе с тем оживить ссылки.

Как известно, реализовать всплывающие картинки можно при помощи jQuery, CSS, а также HTML. В сегодняшней статье я выложу готовый код этого эффекта, а также приведу несколько наглядных примеров. Каждый скрипт довольно простой, создан средствами CSS+HTML. Не стану вас больше томить и приведу готовые решения!

Всплывающая картинка при наведении

При наведении на текст, отображается скрытый графический контент

a.сайт-ssilka:hover+div

Давайте я вкратце объясню главные моменты. Дабы вывести всплывающее изображение нужно обратиться к тегу с атрибутом src и после знака равно в кавычках прописать путь к изображению, предварительно закачав его в корневую папку сайта.

Тег <а> с обязательным параметром href отвечает за создание и отображение ссылки (в моем примере это текст).

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

Атрибут alt позволяет поисковым механизмам более точно распознать, что изображается на картинке.

Для большей наглядности я выделил ту часть кода, которую вы вероятнее всего захотите изменить.

Всплывающий текст при наведении на ссылку

При наведении на текст всплывает текстовая подсказка

a.сайт-ssilka:hover+div

Смелее!!! Наведи на меня курсор!

Здорово!!! Все получилось:)

Как можно увидеть с примера при наведении на текст всплывает текстовая подсказка.

Исчезновение изображения при наведении на ссылку

При наведении на текст, картинка исчезает

a.сайт-ssilka:hover+div

Смелее!!! Наведи на меня курсор!

Для добавления определенного вышеприведенного эффекта достаточно скопировать подходящий вам код и вставить его в текстовый редактор. Таким образом, ссылку со всплывающим/исчезающим изображением можно прописать в любом месте статьи.

Важный момент! Каждый из представленных скриптов не вредит валидности сайта.

Не менее удобной считаю реализацию поставленной задачи путем добавления специального скрипта в файл стилей вашего шаблона, который, как правило, называется style.css.

Всплывающая картинка CSS

position: relative;

Thumbnail:hover{

Thumbnail span{ /*CSS for enlarged image*/

position: absolute;

background-color: #3d3d3d;

border: 1px solid white;

visibility: hidden;

text-decoration: none;

border-radius: 4px 4px 4px 4px;

Moz-border-radius: 4px 4px 4px 4px;

Webkit-border-radius: 4px 4px 4px 4px;

Thumbnail span img{ /*CSS for enlarged image*/

border-width: 0;

Thumbnail:hover span{ /*CSS for enlarged image on hover*/

visibility: visible;

left: 60px; /*position where enlarged image should offset horizontally */

Для вывода всплывающего окна при наведении на ссылку, в текст следует вставить следующую ссылку:

Помимо этого ссылку со всплывающей картинкой можно вставить в определенную часть вашего шаблона. Для этого следует внести нижеуказанный код в файл index.php. Это файл, определяющий визуальное расположение элементов сайта.

При наведении ссылка станет красной и подчеркнутой: ссылка

Пример 2. Как изменить фон ссылки при наведении

При наведении ссылка изменит фон на синий, а цвет ссылки станет белым: ссылка

Преобразуется на странице в следующее:

Пример 3. Как поменять курсор при наведении на ссылку

По умолчанию у ссылок курсор при наведении имеет значение cursor :pointer . В следующем примере мы изменим его на другой.

При наведении ссылка станет красной и подчеркнутой, а курсор станет в виде плюса: ссылка

Преобразуется на странице в следующее:

Пример 4. Сглаженное изменение стилей ссылки

С помощью свойства transition мы сгладим скорость изменения фона и цвета ссылки.

При наведении ссылка изменит фон на синий, а цвет ссылки станет белым, при этом все это будет сглажено: ссылка

Преобразуется на странице в следующее:

Пример 5. Красивое подчеркивание ссылки

При наведении ссылка изменит цвет и появится необычное подчеркивание: ссылка

Преобразуется на странице в следующее.

Если вам понравился эффект, то вы можете просто скопировать готовый код и использовать его!

Оживите свой веб-сайт!

Различные эффекты при наведении могут привнести свежести на страницы вашего сайта. Ранее для любого эффекта нужно было сталкиваться с javascript, но сегодня, после появления технологии CSS3, всё может делать в обход использования javascript.

Сегодняшние примеры все реализованы и оптимизированы под новые современные браузеры, и обязательно будут в них работать (например, в Mozilla или браузерах семейства WebKit). Мы не можем заверить вас относительно работы в IE, но в самых свежих версиях эффекты точно будут работать как надо. Но не стоит забывать, что для каждого эффекта подготовлен привлекательный вариант отката на случай, если браузер всё-таки не будет поддерживать эффект.

01. Увеличение

Демо: Для просмотра

Этот эффект очень просто внедрить, причем это можно реализовать несколькими способами. Мы воспользовались методом, когда к каждому изображению добавляется параметр полей, а затем, при наведении курсора мыши, этот параметр убирается. Допустим, параметр полей начинается на 15 пикселях, а при наведении становится 2 пикселя, что приводит к тому, как будто, изображение подпрыгивает. Вы можете также просто использовать этот эффект и с текстом, даже если ссылки расположены вертикально, а не горизонтально.

Переход здесь можно выставлять по своему усмотрению, причем эффект будет также привлекателен без какого-либо перехода. Мы, например, сделали эффект немного плавным, что, как нам показалось, добавит эффекту изюминку.

CSS-код эффекта Bump Up

Ex1 img{
border: 5px solid #ccc;
float: left;
margin: 15px;
-webkit-transition: margin 0.5s ease-out;
-moz-transition: margin 0.5s ease-out;
-o-transition: margin 0.5s ease-out;
}

Ex1 img:hover {
margin-top: 2px;
}
02. Stack & Grow


Демо: Для просмотра

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

Для реализации здесь были использованы изображения размером 400х133 пикселей. Затем они были изменены в размере до 300х100 пикселей посредством CSS, и расширены при наведении курсора мыши. Так как в примере весь список выровнен по центру, новый размер изображений преломлял всё выравнивание. Эту проблему можно решить посредством выставления отрицательных полей в половину ширины изображений в увеличенном размере.

CSS-код для Stack & Grow

/*Example 2*/
#container {
width: 300px;
margin: 0 auto;
}

#ex2 img{
height: 100px;
width: 300px;
margin: 15px 0;
-webkit-transition: all 1s ease;
-moz-transition: all 1s ease;
-o-transition: all 1s ease;
}

#ex2 img:hover {
height: 133px;
width: 400px;
margin-left: -50px;
}
03. Fade Text in


Демо: Для просмотра

Здесь автор хотел создать нечто вроде события по типу javascript, когда вы наводите курсор на один пункт, а эффект отображается на другом. Здесь были взяты текст и изображение, а затем помещены в отдельный div с выравниванием по левому краю. Далее к div’у были добавлены параметры color: transparent и line-height: 0px. Это позволило разместить текст по верхнему краю div’а и вообще спрятать его.

Для того чтобы текст появился вновь, мы просто изменяем цвет и высоту строки. Когда вы наводите на изображение, текст снова появляется. Очень забавный и лёгкий эффект.

CSS-код эффекта Fade Text In

#ex3 {
width: 730px;
height: 133px;
line-height: 0px;
color: transparent;
font-size: 50px;
font-family: "HelveticaNeue-Light", "Helvetica Neue Light", "Helvetica Neue", Helvetica, Arial, sans-serif;
font-weight: 300;
text-transform: uppercase;

}

#ex3:hover {
line-height: 133px;
color: #575858;
}

#ex3 img{
float: left;
margin: 0 15px;
}
04. Crooked Photo


Демо: Для просмотра

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

Здесь нужно использовать много новых значений CSS, поэтому стоит рассматривать также вариант отката для более ранних версий браузеров. В нашей галерее будут использованы переходы, трансформации, а также тени блоков, правда, по вашему желанию. Трансформация будет отвечать за вращение изображения, а переходы будут отвечать за мягкий и плавный эффект.

Здесь вы можете применять псевдо-селекторы.

CSS-код для Crooked Photo

#ex4 {
width: 800px;
margin: 0 auto;
}

#ex4 img {
margin: 20px;
border: 5px solid #eee;
-webkit-box-shadow: 4px 4px 4px rgba(0,0,0,0.2);
-moz-box-shadow: 4px 4px 4px rgba(0,0,0,0.2);
box-shadow: 4px 4px 4px rgba(0,0,0,0.2);
-webkit-transition: all 0.5s ease-out;
-moz-transition: all 0.5s ease;
-o-transition: all 0.5s ease;
}

#ex4 img:hover {
-webkit-transform: rotate(-7deg);
-moz-transform: rotate(-7deg);
-o-transform: rotate(-7deg);
}
05. Fade In and Reflect


Демо: Для просмотра

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

К сожалению, отражение – это не совсем переход, поэтому оно появляется сразу, несмотря на то, что остальное содержимое появляется в замедленном темпе.

Если вы запутались в CSS-коде отражений, вы можете узнать об этом побольше в статье (David Walsh).

CSS-код эффекта Fade In and Reflect

#ex5 {
width: 700px;
margin: 0 auto;
min-height: 300px;
}

#ex5 img {
margin: 25px;
opacity: 0.8;
border: 10px solid #eee;

/*Transition*/
-webkit-transition: all 0.5s ease;
-moz-transition: all 0.5s ease;
-o-transition: all 0.5s ease;

/*Reflection*/
-webkit-box-reflect: below 0px -webkit-gradient(linear, left top, left bottom, from(transparent), color-stop(.7, transparent), to(rgba(0,0,0,0.1)));
}

#ex5 img:hover {
opacity: 1;

/*Reflection*/
-webkit-box-reflect: below 0px -webkit-gradient(linear, left top, left bottom, from(transparent), color-stop(.7, transparent), to(rgba(0,0,0,0.4)));

/*Glow*/
-webkit-box-shadow: 0px 0px 20px rgba(255,255,255,0.8);
-moz-box-shadow: 0px 0px 20px rgba(255,255,255,0.8);
box-shadow: 0px 0px 20px rgba(255,255,255,0.8);
}
Заключение

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

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







2024 © gtavrl.ru.