Здравствуйте друзья! Сегодня я предлагаю вашему внимаю пример создания hover-эффекта для изображений.
В данном примере при наведении курсором мышки изображение затемняется серым цветом, и при этом выплывает сверху на середину изображения иконка лупы.
Изменить иконку лупы которая появляется при наведении на изображение на любую другую очень просто! Для этого необходимо в классе .gallery a:before изменить ссылку фона в свойстве background на адрес другой иконки.
Для поиска качественных и бесплатных иконок рекомендую сайт iconmonstr.com.
Посмотреть и скачать демо пример ховер-эффекта вы можете перейдя по ссылкам ниже.
Демо СкачатьHTML
<ul class="gallery"> <li class="portfolio isotope-item"> <a class="image" href="#"> <img src="https://wp-lessons.com/wp-content/uploads/2015/01/prikolnyiy-hover-effekt-dlya-izobrazheniya-na-css1.jpg" alt=""> </a> </li> <li class="portfolio isotope-item"> <a class="image" href="#"> <img src="https://wp-lessons.com/wp-content/uploads/2015/01/prikolnyiy-hover-effekt-dlya-izobrazheniya-na-css2.png" alt=""> </a> </li> <li class="portfolio isotope-item"> <a class="image" href="#"> <img src="https://wp-lessons.com/wp-content/uploads/2015/01/prikolnyiy-hover-effekt-dlya-izobrazheniya-na-css3.png" alt=""> </a> </li> <li class="portfolio isotope-item"> <a class="image" href="#"> <img src="https://wp-lessons.com/wp-content/uploads/2015/01/prikolnyiy-hover-effekt-dlya-izobrazheniya-na-css4.jpg" alt=""> </a> </li> </ul>
CSS
.gallery { padding: 40px 0; width: 100%; max-width: 1140px; margin: 0 auto; clear: both; position: relative; overflow: hidden; } .gallery ul { padding-top: 50px; position: relative; } .gallery li { width: 23.24561403508772%; margin: 0 0.8771929824561403%; height: 200px; float: left; margin-bottom: 20px; } .gallery a { display: block; position: relative; width: 100%; height: 100%; margin: 0; padding: 0; } .gallery a:before { position: absolute; width: 32px; height: 28px; top: 40%; left: 50%; margin: -14px 0 0 -10px; background: url(https://wp-lessons.com/wp-content/uploads/2015/01/magnifier.png) no-repeat; content: ''; opacity: 0; z-index: 1; -webkit-transition: all 0.3s linear; transition: all 0.3s linear; } .gallery a:hover:before { top: 50%; opacity: 1; } .gallery a:after { position: absolute; width: 100%; height: 100%; top: 0; background: rgba(0, 0, 0, 0.5); content: ''; opacity: 0; -webkit-transition: all 0.3s linear; transition: all 0.3s linear; } .gallery a:hover:after { opacity: 1; } .gallery a img { padding: 0; margin: 0; position: absolute; max-width: 100%; height: auto; }
Если у вас возникли вопросы — задавайте их в комментариях.
Обзор
Проголосуйте за статью
Оценка
Итог : Уважаемые читатели! Если вам понравилась статья не поленитесь проголосовать и оставить комментарий, ведь так я смогу понять полезность уроков и статей, и улучшить их качество в будущем. Заранее спасибо!
Я только осваиваю изменения в CSS, правильно ли я понял, что вставляю этот текст style.css?
Тот что CSS в style.css, а тот что html — в html страничку.
я вставил, но к сожалению, ничего не изменилось…
Обрати внимание, что эти статьи не касаются WordPress. Это своего рода «заготовки» для веб-мастеров.
Спасибо, практически готовое решение для портфолио. Такие эффекты пробовал получить с помощью разных плагинов типа галереи, но намучился с ними — в бесплатных версиях слишком ограничены возможности.
Правда, у меня адаптивный шаблон, наверное поэтому размеры картинок и серого затемнения меняются неравномерно, иногда не совпадают. Есть ли какой-то способ сделать так, чтобы они в одинаковых пропорциях увеличивались и уменьшались на разных мониторах?
Решение нашел. В самой последней строчке в css изменил «height: auto» на «height: 100%». Теперь все отлично работает. Проблема отпала.
Кстати, в вашем Демо-примере, если сильно увеличить масштаб страницы, то тень при наведении курсора тоже получается больше по размеру самих картинок.
Спасибо что написали решение. По поводу масштаба могу сказать только одно — надеюсь никто не будет увеличивать масштаб страницы 🙂
Как убрать точки между картинками?