跨瀏覽器磨砂效果背景圖片模糊特效

background-blur是一款很是炫酷的跨瀏覽器磨砂效果背景圖片模糊特效jQuery插件。它會抽取圖片的主要色彩,並經過SVG過濾器來製做模糊效果。而且它還經過velocity.js來提供額外的圖片切換時淡入淡出的效果。html

該插件在支持SVG的瀏覽器中使用SVG過濾器來製做圖片模糊效果(IE瀏覽器除外)。在IE瀏覽器中,插件會建立一個<img>標籤並在CSS中使用IE特有的模糊濾鏡來模糊圖片。html5

在頁面中引入下面的文件。jquery

<script src="jquery.min.js"></script>web

<script src="background-blur.min.js"></script>   瀏覽器

HTML結構

該背景圖片模糊特效的基本HTML結構以下:svg

<div class="container">性能

  <div class="content">動畫

  ...url

  </div>spa

</div>    

須要爲該背景圖片模糊特效提供一些基本的CSS樣式:

.container {

  overflow: hidden;

  width: 100%;

  position: relative;

}

 

.container .bg-blur-overlay {

  z-index: -1;

  position: absolute;

  width: 100%;

  height: 100%;

  background-image: url('data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4gPHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PGRlZnM+PGxpbmVhckdyYWRpZW50IGlkPSJncmFkIiBncmFkaWVudFVuaXRzPSJvYmplY3RCb3VuZGluZ0JveCIgeDE9IjAuNSIgeTE9IjAuMCIgeDI9IjAuNSIgeTI9IjEuMCI+PHN0b3Agb2Zmc2V0PSI0NiUiIHN0b3AtY29sb3I9IiMwMDAwMDAiIHN0b3Atb3BhY2l0eT0iMC4wOCIvPjxzdG9wIG9mZnNldD0iNTklIiBzdG9wLWNvbG9yPSIjMDAwMDAwIiBzdG9wLW9wYWNpdHk9IjAuMDgiLz48c3RvcCBvZmZzZXQ9IjEwMCUiIHN0b3AtY29sb3I9IiMwMDAwMDAiIHN0b3Atb3BhY2l0eT0iMC45Ii8+PC9saW5lYXJHcmFkaWVudD48L2RlZnM+PHJlY3QgeD0iMCIgeT0iMCIgd2lkdGg9IjEwMCUiIGhlaWdodD0iMTAwJSIgZmlsbD0idXJsKCNncmFkKSIgLz48L3N2Zz4g');

  background-size: 100%;

  background-image: -webkit-gradient(linear, 50% 0%, 50% 100%, color-stop(46%, rgba(0, 0, 0, 0.08)), color-stop(59%, rgba(0, 0, 0, 0.08)), color-stop(100%, rgba(0, 0, 0, 0.9)));

  background-image: -moz-linear-gradient(top, rgba(0, 0, 0, 0.08) 46%, rgba(0, 0, 0, 0.08) 59%, rgba(0, 0, 0, 0.9) 100%);

  background-image: -webkit-linear-gradient(top, rgba(0, 0, 0, 0.08) 46%, rgba(0, 0, 0, 0.08) 59%, rgba(0, 0, 0, 0.9) 100%);

  background-image: linear-gradient(to bottom, rgba(0, 0, 0, 0.08) 46%, rgba(0, 0, 0, 0.08) 59%, rgba(0, 0, 0, 0.9) 100%);

}

 

.container .bg-blur {

  z-index: -2;

  opacity: 0;

  position: absolute;

  width: 100%;

  min-height: 100%;

  height: auto;

  display: block;

  top: 0;

  left: 0;

}

 

.container .content { z-index: 1; }

初始化插件

在頁面DOM元素加載完畢以後,能夠經過下面的方法來初始化該插件。

$('#some-element').backgroundBlur({

    imageURL : 'http://URL-of-the-image',

    blurAmount : 50,

    imageClass : 'bg-blur'

});               

也能夠經過下面的方法來建立一張淡入的模糊圖片效果。

$('#some-element').backgroundBlur({

    imageURL : 'http://URL-of-the-image',

    blurAmount : 50,

    imageClass : 'bg-blur'

    duration: 1000, // If the image needs to be faded in, how long that should take

    endOpacity : 1 // Specify the final opacity that the image will have

});               

也能夠插件一張淡入的模糊圖片,而後切換到另外一張圖片。

// 初始化牧戶效果

$('#some-element').backgroundBlur({

    imageURL : 'http://URL-of-the-image',

    blurAmount : 50,

    imageClass : 'bg-blur'

    duration: 1000, // If the image needs to be faded in, how long that should take

    endOpacity : 1 // Specify the final opacity that the image will have

});

 

//切換圖片

$('#some-element').backgroundBlur('http://URL-of-another-image');       

結合Velocity.js來使用

若是你使用Velocity.js動畫庫,那麼該插件會自動檢測它是否存在,這會提供淡入淡出效果的動畫性能,特別是在移動手機設備中。若是沒有檢測到Velocity,插件會使用jQUery的animate()方法來製做淡入淡出效果。

瀏覽器兼容

  • Chrome
  • Firefox
  • Safari and Safari Mobile (iOS)
  • IE6, IE7, IE9, IE10, IE11
  • Android browsers
相關文章
相關標籤/搜索