CSS のみで背景画像をぼかす

プログラミング
スポンサーリンク

背景に置く画像をぼかしたい場合には、画像編集ソフトを使用しておけば特に問題はありません。

ですが毎回編集ソフトを使用し加工するのは手間と思ったことありませんか?

簡単にできないか調べたところ 「CSS」のみで簡単に画像にぼかしを入れることができたので備忘録として残します。

画像のぼかし方法

クラスの作成

CSSでぼかし用のクラスを作成します。

あとはぼかしたい部分にクラスを付与するのみで可能です。

背景に「疑似要素before」を設定します。

以下ソースです。

html
<div class="bokashi">
   画像をぼかす 
</div>
CSS
.bokashi{
  width: 640px;
  height: 438px;
  text-align: center;
  font-size: 32px;
  line-height: 438px;
  background:url("画像のURL") no-repeat center;
  background-size: cover;
  position: relative;
  z-index: 0;
  overflow: hidden;
}

.bokashi:before{
  content: '';
  background: inherit;
  -webkit-filter: blur(5px);
  -moz-filter: blur(5px);
  -o-filter: blur(5px);
  -ms-filter: blur(5px);
  filter: blur(5px);
  position: absolute;
/画像の端までぼけてしまうため切り落とすため/
  top: -5px;
  left: -5px;
  right: -5px;
  bottom: -5px;
  z-index: -1;

赤色アンダーライン部分のみを付与すればぼかすことができます。

実行画面

元の画像

ぼかす前画像

以下が実際に実行した画面です。

See the Pen CSSぼかし by danne (@danne-lab) on CodePen.

ちなみにぼかしのことを「ブラー」と呼び、この表現のことを「ブラーエフェクト」と呼んでいるそうです!

一度お試しください!

コメント

タイトルとURLをコピーしました