Visual Filter

Visual Filters and Transitions

フィルターはマイクロソフトのCSSへの独自拡張で、IE4.0以降のブラウザで表示することができます。面倒なスクリプトなどを使わずとも、スタイルシートからfilterプロパティを効果を与えたい要素に加えることによって、簡単に文字や画像に特殊な効果を加えることができます。詳しくはMSのVisual Filters and Transitions Referenceを参照してください。

Index

一般的な書式

HTMLへの摘要

フィルターを要素に加える場合、一般的な書式は以下のようになります。

<ELEMENT STYLE = "filter: filterName(sProperties)" ... >

フィルター効果を加えられる要素は BODY, BUTTON, DIV, IMG, INPUT, MARQUEE, SPAN, TABLE, TD, TEXTAREA, TH

ELEMENT:
 効果を付け加える要素
filterName:
 フィルター名
sProperties:
 プロパティを設定するため文字列
propertyName=value,propertyName=value,・・・・という様に 複数のプロパティを列挙する場合は、","(カンマ)で区切ります。

効果の及ぶ範囲を指定するためにwidth、heightのプロパティを設定します。

スクリプトからのアクセス

スクリプトを使ってこれらのプロパティを操作すればフィルター効果に様々な動きを付けることができます。その場合、filterのプロパティにアクセスするには、オブジェクトのfilters・コレクションを用います。(一つの要素に複数のフィルター効果を付けることが可能なのです)

例えば以下のようなDIV要素にflipH効果のフィルターが付けられているとします。

<div id="box" style="width:200;height:100;font-size:20;
                     filer:flipH();">

このflipHの効果の有無を決めるプロパティenableの値をfalseにして、効果を付けないようにする場合を考えてみます。(プロパティenableのデフォルト値はtrueです) コレクションfiltersのメソッドitem()を使えば

box.filters.item(0).enabled = false; 

これはコレクションfiltersのメンバーとして以下のような書き方もできます。

box.filters[0].enabled = false;

またフィルター名を表記して指定することも可能です。

box.filters.flipH.enable = false;
または
box.filters["flipH"].enable = false;

alpha

プロパティ

enabled
 
finishOpacity
不透明効果が終わる時の不透明さのレベル。0(透明)から100(完全に不透明)までの整数値で表す。デフォルト値は100。
finishX
不透明効果が終わる点のX座標(widthに対する水平方向のパーセンテージ0から100までの数字)
finishY
不透明効果が終わる点のY座標(heightに対する垂直方向のパーセンテージ0から100までの数字)
opacity
不透明効果が始まる時の不透明さのレベル。0(透明)から100(完全に不透明)までの整数値で表す。デフォルト値は100。
startX
不透明効果が始まる点のX座標(widthに対する水平方向のパーセンテージ0から100までの数字)
startY
不透明効果が始まる点のY座標(heightに対する垂直方向のパーセンテージ0から100までの数字)
style
不透明効果の形状。以下の数値をとる。
  • 0 均一の不透明 (効果が始まった点の不透明さに領域全体がなります)
  • 1 線状の不透明
  • 2 放射状の不透明
  • 3 四角形の不透明

alpha Test

300px×300pxの黒いボックスにalpha効果をかけています。不透明さの始まりの点a(0, 0)の不透明度は0で、終点b(300, 300)の不透明度が100に設定され、その間を線状パターンで不透明度を変えグラディエーションしています。座標はパーセントに換算した値を指定します。

<div id="box_alpha" class="sample"
    style="background-color:#000;width:300;height:300;
           filter:alpha(opacity=0,startX=0,startY=0,finishOpacity=100,
                                  finishX=100,finishY=100,style=1);">
</div>

下の値を変えてみてください。

opacity = 0から100までの数字です
startX =
startY =
finishOpacity =
finishX =
finishY =
style =
  • 0 均一の不透明
  • 1 線状の不透明
  • 2 放射状の不透明
  • 3 四角形の不透明

blendTrans

blur

動いているような影をつけます。

プロパティ

blur Test

<div style="filter:blur(add=1,direction=135,strength=10);
               width:300;height:150;font-size:90;font-weight:bold;
               color:#34A;">
SAMPLE
</div>
SAMPLE
strength = 1から100までの整数
direction = 0からの45刻みの整数(例えば22は0に、23は45として解釈されます)

DIV要素にborderを付けるとそれにも影が付きます。

chroma

指定された色の部分を透明にします。

プロパティ

chroma Test

外側のDIV要素に背景画像がついています。内側のDIV要素内の指定した色(#A43)の文字"A"が透明になります。

<div style="background-image:url(../css/bgimg.gif);">
<div style="filter:chroma(color=#A43);
               width:300;height:150;font-size:90;font-weight:bold;
               color:#34A;background-color:#EEE">
S<span style="color:#A43">A</span>MPLE
</div>
</div>
SAMPLE

dropShadow

SAMPLE

flipH

SAMPLE

flipV

SAMPLE

low

gray

オブジェクトのカラーパレットの色情報を落として、グレイスケールで表示する。

invert

light

mask

SAMPLE

redirect

revealTrans

shadow

立体的な影を付けます。

プロパティ

SAMPLE

wave

SAMPLE

xray

共通するプロパティ

add
 効果のイメージを付け加えるかどうかを決める。論理値。デフォルトはtrue。
color
効果の色を決める。RGB値またはキーワード。
direction
効果の方向を決める。 時計回りで12時を0度とした45度刻みの角度で表す。0,45,90,135,180,225,270,315 また360は0に、-45は315の様に変換される。デフォルト値は270である。
enabled
効果の有効、無効を決める。論理値、デフォルトはtrue
strength
効果の強さを決める、1(最小効果)から100(最大効果)までの数値

Top ↑
mail to rain