2016-11-30 13 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