2016-11-30 4 views
0

Я пытаюсь создать классический «черный» наложение при наведении изображения. По какой-то причине моя белая. Может ли кто-нибудь объяснить мне, что я делаю неправильно? Вот мой jsFiddle.Изображение накладывается на зависание?

<img class="thumb-img"> 

.thumb-img:hover { 
    opacity:0.5; 
    -ms-transition: all 1s; 
    -o-transition: all 1s; 
    -webkit-transition: all 1s; 
    transition: all 1s; 
    background-color: #202020; 
} 
+0

Ваш код говорит «когда я зависать на этом изображении, сделать его 50% непрозрачности/прозрачный», и это на белом фоне так что это дает впечатление наличия белого наложения. –

ответ

4

Ваш background-color свойство никогда не видел, так как само изображение занимает все пространство элемента. Заверните его в <div> (или аналогичный):

.img-fade { 
 
    background-color: #202020; 
 
    float:left; 
 
} 
 
.img-fade img { 
 
    display: block; 
 
    
 
    -webkit-transition: opacity 1s linear; 
 
     -moz-transition: opacity 1s linear; 
 
     -ms-transition: opacity 1s linear; 
 
      -o-transition: opacity 1s linear; 
 
      transition: opacity 1s linear; 
 
} 
 

 
.img-fade img:hover { 
 
    opacity:0.5; 
 
}
<div class="img-fade"> 
 
    <img src="http://placehold.it/200x200" /> 
 
</div>

+0

Хороший призыв к тому, чтобы вместо этого наложить «оверлей»? Я был duncecap и добавлял абсолютно позиционированный оверлей и использовал jQuery для добавления состояния зависания. Но в этом случае он был вызван, поскольку на наложении было содержимое, которое должно было быть 100% непрозрачностью. –

+0

@Benm спасибо, я ценю помощь. Работала отлично. – coding4fun

+0

@ coding4fun Нет проблем! – BenM

Смежные вопросы