Не знаю как сделать оверлей

177
07 марта 2018, 05:45

Очень простая задача сделать оверлей загнала в тупик. Мне в принципе не приходит идея, как это осуществить.

Нужно при наведении на картинку показывать оверлей с ссылкой посередине.

По наведению на display: none || visibility: hidden, opacity: 0 - ховер просто не отрабатывает. Чрезвычайно костыльно сделал, но это нельзя назвать рабочим вариантом, т.к. он дергается и навести нужно непосредственно не на картинку, а под неё.

Оверлей должен появляться именно с такой анимацией снизу

Answer 1

.teaser{ 
  width:200px; 
  height:200px; 
  position:relative; 
  overflow:hidden; 
  background:url(https://millionstatusov.ru/pic/statpic/all/58e61335ec518.jpg) no-repeat center/cover; 
} 
.teaser__overlay{ 
  position:absolute; 
  top:100%; 
  left:0; 
  width:100%; 
  height:100%; 
  background-color:rgba(0,0,0,.4); 
  opacity:0; 
  color:#fff; 
  display:flex; 
  justify-content:center; 
  align-items:center; 
  transition:all .4s ease-out; 
} 
.teaser:hover .teaser__overlay{ 
  top:0; 
  opacity:1; 
} 
.teaser__link{ 
  color:inherit; 
  text-decoration:none; 
}
<div class="teaser"> 
  <div class="teaser__overlay"> 
    <a href="#" class="teaser__link">Перейти к галерее</a> 
  </div> 
</div>

Answer 2

*{ 
  padding: 0; 
  margin: 0; 
  box-sizing: border-box; 
} 
 
.pict{ 
  display: inline-block; 
  position: relative; 
} 
.pict > img{ 
  display: block;   
} 
.pict:before{ 
  content: ''; 
  position: absolute; bottom: 0; left: 0; 
  width: 100%; 
  height: 0; 
  background: rgba(0,0,0,.7); 
  transition: height .3s ease; 
} 
.pict:hover:before{ 
  height: 100%; 
} 
 
.pict a{ 
  position: absolute; top: 100%; left: 50%; 
  transform: translate(-50%, -50%); 
  opacity: 0; 
  color: #fff; 
  transition: all .5s ease; 
} 
 
.pict:hover a{ 
  opacity: 1; 
  top: 50%; 
}
<div class="pict"> 
  <img src="http://via.placeholder.com/200x200"> 
  <a href="#">Link</a> 
</div>

READ ALSO
Не удается запустить mysql на Linux (Fedora)

Не удается запустить mysql на Linux (Fedora)

После выполнения команды:

207
Mysql записать всю выборку в переменную

Mysql записать всю выборку в переменную

Всем доброго времени суток задача такая: Записать результат select в переменную без придикатов

200
Ошибка во время выполнения запроса на добавление индекса

Ошибка во время выполнения запроса на добавление индекса

Я пыталась выполнить запрос для добавления индекса в таблицу:

228