ホームへ

CSS opacityが効かない条件と回避方法

2020年11月18日

opacityは要素を透明、半透明にするCSSプロパティです。

しかし、ある条件によりopacityが効かなくなることがあります。

CSS opacityが効かない条件と回避方法を解説します。

opacityが効かない条件

opacityが効かないhtml例

<style>
    a{
        opacity: .5;
    }
</style>

<a href="#">
    <div>
        <img src="https://csshtml.work/wp-content/uploads/1.jpg">
    </div>
</a>

下記をchromeで見てみてください。透明になっていないかと思います。

CSS opacityが効かない条件は下記すべてを満たしたときです。

  1. chrome
  2. aタグとimgの間にタグがある
  3. aタグがインライン要素

逆にいうと解決方法は上記の条件を崩せばいいのです。

回避方法:aタグに「display:block」を指定

手っ取り早いのはaタグに「display:block」を指定してしまうことでしょう。

<style>
    a{
        opacity: .5;
        /*コレ*/display: block;
    }
</style>

<a href="#">
    <div>
        <img src="https://csshtml.work/wp-content/uploads/1.jpg" alt="">
    </div>
</a>

下記をchromeで見てみてください。透明になったかと思います。

CSSやhtmlの基本をしっかり理解すると、この記事の内容もより理解できるようになりますよ。

↓CSSやhtmlを楽しく学べるようにマンガを描きましたのでゼヒご覧ください↓

↑「副業してもう少し稼ぎたい!」というかたのために副業の方法も解説しています。

その他の原因

スペルミスをしていたりCSSの優先度が負けているとCSSが効かない場合があります。下記を参考に見直してみてください。

【まとめ】CSS opacityが効かない条件と回避方法

opacityが効かない条件は下記すべてを満たしたとき

  1. chrome
  2. aタグとimgの間にタグがある
  3. aタグがインライン要素

回避方法

aタグに「display:block」を指定

以上、CSS opacityが効かない条件と回避方法でした。

「この記事の内容がよくわからなかった…」「なんかうまくいかなかった…」というかたは下記記事↓でhtmlとCSSの基本を学びましょう。
わからないまま突き進むより基本を学ぶのが結局近道です。

CSSやhtmlをマンガで学ぶ