Как сделать такой hover [дубликат]

191
19 апреля 2018, 08:59

На данный вопрос уже ответили:

  • Как сверстать границу в виде уголков? 7 ответов

Привет, народ. Как сделать что-бы при наведении курсора на картинку, появлялась рамка по углам?
В голову лезу совсем дикие идеи с 4 маленькими квадратными блоками...
и то не понимаю до конца как реализовать.

Answer 1

.block { 
  position: relative; 
  padding: 5px; 
  display: inline-block; 
  background-color: #fff; 
} 
 
.block:hover { 
  background-color: #B7E522; 
} 
 
.block:before { 
  content: ""; 
  width: 90%; 
  height: 100%; 
  position: absolute; 
  top: 0; 
  left: 5%; 
  background-color: #fff; 
} 
 
.block:after { 
  content: ""; 
  width: 100%; 
  height: 90%; 
  position: absolute; 
  top: 5%; 
  left: 0; 
  background-color: #fff; 
} 
 
.block>img { 
  position: relative; 
  max-width: 100%; 
  height: auto; 
  z-index: 999; 
}
<div class="block"> 
  <img src="https://t4.ftcdn.net/jpg/01/85/66/43/500_F_185664319_kxK75qclPnH3trVYEf7wnid2VUmYaHYB.jpg"> 
</div>

Answer 2

В общем сначала создаём общего родителя для углов и для img , в моём случае это .caption внутри него лежат наши эмитированные углы .. их для стилизации объединил по общему селектору т.е .border и скрыл их через opacity а по hover делаю полную не прозрачность

.caption.x1{ 
  margin:0; 
  padding:0; 
  width:60%; 
  margin:20px auto; 
  position: relative; 
} 
.caption.x2{ 
  margin:0; 
  padding:0; 
  width:70%; 
  margin:20px auto; 
  position: relative; 
} 
.caption img{ 
  display:block; 
  width:100%; 
} 
.tbil{ 
  border-left:5px solid red; 
  border-top:5px solid red; 
  position: absolute; 
  top:-5px; left:-5px; 
} 
.tbir{ 
  border-right:5px solid red; 
  border-top:5px solid red; 
  position: absolute; 
  top:-5px; right:-5px; 
} 
 
.bbil{ 
  border-left:5px solid red; 
  border-bottom:5px solid red; 
  position: absolute; 
  bottom:-5px; left:-5px; 
} 
.bbir{ 
  border-right:5px solid red; 
  border-bottom:5px solid red; 
  position: absolute; 
  bottom:-5px; right:-5px; 
} 
.border{ 
  width:20%; 
  height:30%; 
  opacity:0; 
  transition:all .4s linear; 
} 
.caption:hover .border{ 
  opacity:1; 
}
<div class="caption x1"> 
  <div class="tbil border"></div> 
  <div class="tbir border"></div> 
  <img src="http://fb.ru/misc/i/gallery/14907/269817.jpg" alt=""> 
  <div class="bbil border"></div> 
  <div class="bbir border"></div> 
</div> 
 
<div class="caption x2"> 
  <div class="tbil border"></div> 
  <div class="tbir border"></div> 
  <img src="http://kino-kingdom.com/uploads/posts/2017-10/1507789838_maxresdefault.jpg" alt=""> 
  <div class="bbil border"></div> 
  <div class="bbir border"></div> 
</div>

Answer 3

.main img { 
  border: 3px solid transparent; 
} 
 
.main img:hover { 
  border: 3px solid #40c4c8; 
  border-image: url(https://i.stack.imgur.com/QBuDC.png) 3; 
}
<div class="main" id="maincontent"> 
  <img alt="stegosaurus" src="https://i.stack.imgur.com/tCMsF.jpg"> 
</div>

READ ALSO
Проблема со скроллом Iphone/safari

Проблема со скроллом Iphone/safari

День добрыйИмеется сайт: http://cubegym

141
Запись изъятой из сайта информации в текстовый файл при помощи Jsoup

Запись изъятой из сайта информации в текстовый файл при помощи Jsoup

Мне нужно изъять из толкового онлайн словаря информацию и записать её в текстовый файлВся проблема в том, что мой код просто копирует HTML код...

168
Разница шрифтов на MAC и Windows

Разница шрифтов на MAC и Windows

На макете используется шрифт Open Sans (берется с https://fontsgoogle

175
AngleSharp вставить данные в input

AngleSharp вставить данные в input

Использую библиотеку AngleSharp, успешно нашел нужные мне input через селектор тэг/имя классаДальше вопрос, каким образом подставить данные в input?

198