2016-04-13 11 views
0

タイトルが述べるように、CSSのみを使用して背景を透明にすることなく、IMGタグの画像を透明にするにはどうすればよいですか? 私はHTMLにアクセスできないので、私はDIVを作ることができません。赤い背景の不透明度無しIMGタグの内容を透明にするが、タグの背景を作成しない方法は?

画像:

img { 
    background-color: red; 
} 

Normal image

opacity: 0.2;を用いた画像:

img { 
    background-color: red; 
    opacity: 0.2; 
} 
with opacity css

私はCSSで達成したい何

what I want

+0

あなたが話している背景が混乱しているので、いくつかのコードを共有するか、フィドルを作成してください。 –

+0

画像の背景や画像の背景について、どの背景についてお話していますか?達成したいもののモックアップイメージを作成できますか? –

+0

@LarsKristensen私はimgタグの背景について話していますが、そのページはありません。 – nelson2tm

答えて

1

これを試してください:

は画像を保持し、あなたのイメージタグではなく、あなたのdiv内にCSSの透明性のスタイルを使用してください。

は、あなたがこのように考えてみます。

<div class="img_container"><img src="myimage.png"></div> 

あなたの制約は、あなたがのみimg要素のCSSを変更することができるということであれば、CSSが

div.img_container img { 
    opacity: 0.2; 
    filter: alpha(opacity=20); /* For IE8 and earlier */ 
} 
+0

残念ながら、画像はDIVにありません。それは単なるIMGタグです。 – nelson2tm

+0

次に、このようにしてください: img.myimage { 不透明度:0.2; フィルタ:アルファ(不透明度= 20);/* IE8以前の場合*/ } – satya

+0

satya

0

なり、その後、私はあなたがしたいことは考えられないと思います。背景を含むHTML要素に不透明度が適用されます。 HTML要素の選択部分の不透明度を設定することはできません。

あなたはJavascriptを使用できる場合は、あなたがdivまたはspan要素にimg要素(複数可)をラップするスクリプトを書き、このラッパー要素に同じ背景を適用することができます。 img要素が透明である場合、これは同じバックグラウンドで表示されます。

$(".classToWrap").wrap("<div class='wrapperClass'></div>");

Jsfiddle demo

Javascriptがどちらのオプションでない場合、私はこれを行う方法が表示されない:

jQueryがこのために使用することができますwrap機能を有していますCSSのみを使用します。

0

HTMLにアクセスできない場合は、新しいbackground-blend-modeを使用する唯一のオプションが残っています。これを調整することで、おおよその値に近づけることができます。これにはsrcではなく、background-imageを使用する必要があります。

もう1つの方法は、::before/afterコンテンツ挿入ハックと、blockbackgroundopacityで使用することです。これには、既知の寸法のimgという何らかの種類のコンテナが必要であり、おそらく少し制約があります。

関連する問題