CSS3+IE対策にJavaScriptを併用
hover時のボタンの処理でよく使われるのが以下のような手法です。
- ボタンの画像を2枚用意してJavaScriptで切り替える
- CSS spriteでhover時の位置をずらしたりする
しかし、
今回ご紹介するのは、
Windows
- Firefox 4.
03 ○ - Safari 5 ○
- Chrome 7 ○
- Opera 10.
63 ○ - IE 6 ×
- IE 7 ×
- IE 8 ×
Mac
- Firefox 3.
6 × - Safari 5 ○
- Chrome 7 ○
- Opera 10.
63 ○
そこで、
CSS3で実装するには
今回のサンプルの完成イメージは以下のとおりです。
![図1 完成図 図1 完成図](/assets/images/design/serial/01/imadoki_ui/0012/thumb/TH800_001.png)
まずはCSS3による実装方法です。
a img {
-webkit-transition:opacity 0.25s; /*Safari,Chrome*/
-o-transition :opacity 0.25s; /*Opera*/
-moz-transition :opacity 0.25s; /*Firefox*/
transition :opacity 0.25s;
background:#fff;
}
a:hover img {
filter: alpha(opacity=70);
-moz-opacity:0.70;
opacity:0.70;
}
ポイントは2つです。
1つ目は、
- -webkit-transition
(Safari/ Chrome用) - -o-transition
(Opera用) - -moz-transition
(mozilla系ブラウザ用)
「0.
2つ目は、
IEはtransitionによるアニメーションはしませんが、
そのために、
jQueryのfadeTo()メソッドで透過度を変化させる
次はJavaScriptを使った実装方法です。
$(function() {
$('a img').hover(
function(){
$(this).fadeTo(250, 0.7);
},
function(){
$(this).fadeTo(250, 1);
}
);
});
ポイントは、
なお、
「Yahoo!
ただし、
今回解説したサンプルファイルがダウンロードできます。