STERFIELD

jQueryやCSS3を使って画面の一部をぼかす方法を考える

jQueryやCSS3を使って画面の一部をぼかす方法を考える

SafariやGoogle Chromeなど、webkitを使ったブラウザではCCS3のfilterを使って、コンテンツをぼかすことができます。

しかし、上に重ねたコンテンツのところだけをぼかすように、部分的にぼかすことはできません。

SVGを使った方法もありますが、CSS3のfilterとjQueryを使ってなんとかできないかやってみました。

 

↓こちらが作ってみたものです(ChromeもしくはSafariでご覧下さい)。

DEMO

 

方法

今回は、body内の要素を丸々コピーして要素の上に被せ、

被せた要素にfilterをかけてcssのclipで一部だけ表示するという方法を使いました。

 

HTML

 

JavaScript

 

今回作ったものは、現在のところChrome, Safariだけで使える方法なので、

実用にはまだまだ遠いですが、SVGを使った方法(参考→「CSS と SVG で曇りガラスのような効果を作る」)と合わせ、

効果の出し分けをするなどすれば、少しでも実用化に近づけることができるかもしれません。

 

いずれにしても、Android2.3系でもぼかし効果を使うことはあきらめなければならなそうです。
Android2.3系は、Androidの中でも2014年2月時点でも2割のシェアがあり(参考)、無視することもできないため、

もしぼかし効果を使う場合は、Android2.3系において、ぼかし無しで問題無いようなデザインにしておく必要がありそうです。

Author Profile

著者近影

NINOMIYA

Webデザイナー兼コーダー出身のフロントエンド開発者です。 UXデザインやチーム開発の効率化など、勉強中です。

SHARE

合わせて読みたい