文字や画像などに不透明度を設定するにはスタイルシートを利用します。ただし、不透明度を指定できるブラウザはInternet Explorer 4以降、Firefox (Netscape 6以降, Mozilla)、Safariのみです。Opera は不透明度をサポートしていません。
 また、ブラウザごとに指定方法が異なります(スタイルシートプロパティ名と設定値が異なる)。
| ブラウザ | プロパティ | 設定値の範囲 | 
|---|
| Internet Explorer | filter:alpha(opacity=値) | 0〜100 (整数値) | 
| Firefox | mozOpacity=値 | 0〜1.0 (小数値) | 
| Safari | opacity=値 | 0〜1.0 (小数値) | 
 実際にスタイルシートで指定する場合には3つのブラウザに対応させるため以下のように列記します。
			#photo {
			 position:absolute;
			 -moz-opacity:0.5;
			 opacity:0.5;
			 filter:alpha(opacity=50);
			}
 HTMLは以下のように記述します。
			<html>
			<head>
			<meta http-equiv="content-type" content="text/html;charset=utf-8">
			<title>半透明で表示する</title>
			<link rel="stylesheet" href="main.css" type="text/css" media="all">
			</head>
			 <body>
			  <h1>半透明で表示する</h1>
			  <img src="photo.jpg">
			  <img src="photo.jpg" id="photo">
			 </body>
			</html>
 これで不透明度が50%の画像が表示されます。Operaなど不透明度をサポートしていないブラウザでは通常の状態で画像が表示されます。
不透明度をJavaScriptから制御する場合には、それぞれのブラウザに対応するスタイルシートプロパティに値を設定します。
			<html>
			<head>
			<meta http-equiv="content-type" content="text/html;charset=utf-8">
			<title>半透明で表示する</title>
			<link rel="stylesheet" href="main.css" type="text/css" media="all">
			<script type="text/javascript"><!--
			n = 100; // 不透明度
			function fadein()
			{
			 var obj = document.getElementById("photo");
			 obj.style.opacity = n / 100;
			 obj.style.mozOpacity = n / 100;
			 obj.style.filter = "alpha(opacity="+n+")";
			 n += 5;
			 if (n < 100) setTimeout("fadein()",50);
			}
			function fadeout()
			{
			 var obj = document.getElementById("photo");
			 obj.style.opacity = n / 100;
			 obj.style.mozOpacity = n / 100;
			 obj.style.filter = "alpha(opacity="+n+")";
			 n -= 5;
			 if (n >= 0) setTimeout("fadeout()",50);
			}
			// --></script>
			</head>
			 <body>
			  <h1>半透明で表示する</h1>
			  <form>
			   <input type="button" value="フェードイン" onClick="fadein()">
			   <input type="button" value="フェードアウト" onClick="fadeout()"><br>
			  </form>
			  <img src="photo.jpg" id="photo">
			 </body>
			</html>
[
枠のズームアニメーション]
[
目次へ]
(2006.1.30)