CSS3で導入された not() を使ったhoverによってグレースケールを操作するデモンストレーション

PR

jQueryでnot()を使ったことがあるというのは、そこそこ有ると思うのですが
実はCSS3にもnot()が導入されています

現在サポートされているのはwebkit系のみのようです

 

Fading all imgs b/w :not(:hover)

画像をマウスオーバーすると、マウスオーバーされていないものがグレースケール化するようになっています。

not()を使って、hoverされていないものを変化させているからです

DEMO 表示

 

 

 

not()を使ったコードの部分

CSS

.img-wrap:hover img:not(:hover) {
  filter: grayscale(1);
}

 

画像群を囲っている img-wrap が hover されたときに、 hover されていない画像に filter でグレースケール化するというもの。

今回の例だと、notを使わずに 同じことを実現することは可能ですが not() を使ったほうが少しコードが短くなりますね

 

CSS not() を使わないで実現した場合

.img-wrap:hover img{
  filter: grayscale(1);
}

.img-wrap img:hover {
  filter: grayscale(0);
}

 

 

まだ対応ブラウザも少ないし、実用には向かないですが CSSにもnot()があるという事です

PR

COMMENT

コメントを残す

PR

9ineBBの管理人が運営するサイト

WDG WEB DESIGN GALLERY ウェブデザインギャラリー