Эффект при наведении на картинку (CSS)

324
09 мая 2018, 00:39

Как реализовать такой эффект при наведении? Картинка вставлена с помощью тега img

Answer 1

Для значка ссылки использовал иконку Font-Awesome, но в принципе её можно также задать картинкой или использовать собственный иконочный шрифт.

*, 
*:before, 
*:after{ 
  box-sizing:border-box; 
} 
.img-link{ 
  display:block; 
  width:200px; 
  height:200px;   
  border:7px solid #fff; 
  box-shadow:0 0 1px 1px gray; 
  border-radius:50%; 
  background:linear-gradient(145deg,#4a35c5,#ba13c5); 
  position:relative; 
  color:transparent; 
  transition:all .5s ease; 
} 
.img-link:before{ 
  content:'\f0c1'; 
  font-family:fontAwesome; 
  font-size:40px; 
  line-height:1; 
  position:absolute; 
  top:calc(50% - .5em); 
  left:calc(50% - .5em); 
  z-index:2; 
} 
.img-link img{ 
  display:block; 
  width:100%; 
  height:100%; 
  border-radius:inherit; 
  object-fit:cover; 
  object-position:center; 
  transition:inherit; 
} 
.img-link:hover{ 
  color:#fff; 
} 
.img-link:hover img{ 
  opacity:.4; 
}
<link href="https://stackpath.bootstrapcdn.com/font-awesome/4.7.0/css/font-awesome.min.css" rel="stylesheet"/> 
<a href="#" class="img-link"> 
  <img src="https://s1.gifyu.com/images/rbt-spa-massage-hand-foot-reflex-410-a.jpg" alt=""/> 
</a>

Answer 2

Вот таким образом:

.wrapper { 
  position: relative; 
} 
 
.hoverEffect { 
  position: absolute; 
  opacity: 0; 
  display: flex; 
  align-items: center; 
  justify-content: center; 
  color: #fff; 
  font-size: 24px; 
  transition: opacity  1s ease-in-out; 
  top: 0; 
  left: 0; 
  margin: 6px; 
  background-color: 	rgba(128,0,128, 0.6); 
 
} 
 
.wrapper img { 
  border: 1px solid #a0522d; 
  padding: 5px; 
} 
.wrapper , .wrapper img , .hoverEffect { 
  border-radius: 100%; 
  height: 175px; 
  width: 175px; 
} 
 
.wrapper:hover .hoverEffect { 
  opacity: 1; 
}
<div class='wrapper'> 
    <img src="https://i2.wp.com/beebom.com/wp-content/uploads/2016/01/Reverse-Image-Search-Engines-Apps-And-Its-Uses-2016.jpg?resize=640%2C426" alt="image"> 
    <div class='hoverEffect'> 
      Icon<!--  тут вставить icon --> 
    </div> 
</div>

Answer 3
  1. Можно наложить маску и скрыть ее opacity: 0; а при наведении показывать с определенной степенью прозрачности.

  2. Лучше отрисовав 2 картинки в 1 файле загружать 1 с backgroud-postiion с начальное верхней левой точки и задать размер чтобы 2-ю ее часть не было видно, а при наведении делать смещение картинки с тем же backgroud-postiion в результате пользователь и не поймет что это одна большая картинка просто при наведении ее другая часть показывается.

READ ALSO
Есть кнопка в таблице. На таблице навешано событие onClick, и на кнопку есть onClick с другой функцией. Не могу понять как грамотно их разделить

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

В компоненте если нажать на строку таблицы вызывается thisonClick, этот метод запускает action и перенаправляет пользователя на форму с настройками...

208
Dyanmic Reports XLS,CSV

Dyanmic Reports XLS,CSV

Такая проблема создаю отчёты при помощи движка DynamicReports в PDF все нормально , в CSV и XLS , какие-то кракозябры:

194
Почему так работает цикл for в java?

Почему так работает цикл for в java?

Почему надпись выводиться не один раз, а два или три, когда пользователь не ввёл нужное значение?

228
Запрос в SqLite по дате

Запрос в SqLite по дате

String date = дата 06/05/2018 а по запросу я хочу получить данные только по месяцам и году

251