透明度を設定するopacityに対応していないIE7、IE8などの古いブラウザも表示させるcssです。
*下記で全ブラウザ対応です。
ターゲットブラウザでない部分は除いてください。
#box { filter:alpha(opacity=80); /* IE 6,7*/ -ms-filter: "alpha(opacity=80)"; /* IE 8,9 */ -moz-opacity:0.8; /* FF , Netscape */ -khtml-opacity: 0.8; /* Safari 1.x */ opacity:0.8; zoom:1; /*IE*/ }
opacityを適応する為に、「zoom:1;」を入れると
currentStyle.hasLayoutがFalseになり、widthやheigthなどの位置情報をあたえられるので解決します。
IE9はopacityとfilter両方適応される
IE9にopacityとfilterの両方が設定されてしまうので、
IE9にfilterがかからないように↓こちらも記載します。
#box:not(:target){ filter: none\9; -ms-filter: none\9; }
*opacityは子要素も含めて指定したセレクタを透過させます。
*子要素は透過したくない場合はbackgroundに「rgba」で透明度を設定します。
(詳しくはこちらの記事で)
【関連記事】
▼マウスオーバー(hover)で画像または要素を半透明にする
http://d.hatena.ne.jp/soratomo0714/20160216/
▼マウスオーバー(hover)で画像または要素を半透明にする
http://d.hatena.ne.jp/soratomo0714/20160216/
▼IE8以下でもrgbaを使って、マウスオーバー時に文字(子要素)はそのままで背景のみを透明にする
http://d.hatena.ne.jp/soratomo0714/20160219/