質問: 透過を実現する為にnetを見ながらcssを作成しました。 ![イメージ説明](https://teratail.storage.googleapis.com/uploads/contributed_images/6901c688e518ea2cf750472b714f9f03.png) visualstudioで確認すると、波線でエラーが出てしまいます。 エラー文言は下記。 ![イメージ説明](https://teratail.storage.googleapis.com/uploads/contributed_images/5024c2f4bbfe9a8208e85293c15ef29e.png) どうする事が一番ベターかご存知の方いらしたら伺えれば幸いで御座います。
回答: CSS3.0 の文法チェックの警告なので、単純に出ないようにするというのであれば、 CSS3.0の文法上正しい `opacity:` のみの記載でOKです。 ではなぜ、WEBで見つけたソースに他の2つが必要だと書いてあったかですが ・`filter:alpha(opacity)` は、`InternetExplorer8`以下に適用させるため ・`-moz-opacity:` は、`Firefox3.4`以下に適用させるため です。 コレを記載するかどうかは、古いブラウザをどこまで対応させるかというウェブサイトの設計ポリシーに依存します。 ### ブラウザシェアで考える ちなみに2017年時点のブラウザシェアは、`IE8以下`は約`1.2%`。`Firefox3.4`以下は `0.2%` となっており、合わせても`1.4%`程です。(セルフ調べ) ※実情は、このような古いブラウザバージョンのシェア数は、大部分が自治体や大学などソフトウェアの更新に許可・手続きが必要な団体が保有するPCがこの数%を保持する要因になっており(日本独特の理由)、一般的なユーザを考えた時に、実は無視して良いレベルの%だったりします。 それでも、ウェブサイトが公共性のあるターゲット層を持つならば、実情まだこの2つは維持しても問題ないかと思います。 Visualstudioのエラーだけを嫌うならば0.2%(1000人に2人)を切り捨て、`-moz-opacity:` だけを削除するのも良いでしょう。 ### もう一つの方法も ちなみに透過処理にはもう1つ方法があり `background-color:rgba(255,255,255,0.85);`のように、`RGBA()`を使う事で箇所を指定して透過することができます。16進数のRGB数値と透過値(Alpha)で指定します。 `opacity`は、要素の中身全てを透過するために「その中にある文字も透過されて見づらい!」なんて事もよくありますが、`RGBA()`を使う場合、背景色だけ、枠線色だけというような指定が出来るので、使い勝手が良かったりします。