純html css實(shí)現(xiàn)動態(tài)高斯模糊效果(第二彈),實(shí)現(xiàn)導(dǎo)航條動態(tài)模糊內(nèi)容

還是先看效果圖:


靜態(tài)效果圖.png

GIF.gif

頁面布局:

  • 頂部高斯模糊導(dǎo)航條
  • 頁面主體

在線demo:https://lucienyang.github.io/blur_nav/
建議使用chrome瀏覽器,其他瀏覽器我沒測過

導(dǎo)航條動態(tài)高斯模糊實(shí)現(xiàn)原理

第一步,將頁面主體內(nèi)容clone到navbar中,然后使用css3 -webkit-filter濾鏡對內(nèi)容做高斯模糊
第二部,監(jiān)聽頁面滾動事件,計算出scrollTop,將navbar中的內(nèi)容做同步滾動,同步滾動使用的方法是transform下面的translateY樣式,對Y軸做同步偏移

代碼片段如下:

    var duplicate = $(".mainContent").clone();
    var contentBlurred = $("<div></div>");
    $(contentBlurred).append(duplicate);
    $(contentBlurred).addClass('content-blurred');
    $("#header").append(contentBlurred);
    var translation;
    $(window).bind("scroll", function(){
        var top = $(this).scrollTop(); // 當(dāng)前窗口的滾動距離
        translation = 'translateY(' + (-top + 'px') + ')';
        $(duplicate).css({"-webkit-transform":translation,"-moz-transform":translation,"transform":translation});
    });

內(nèi)容圖片動態(tài)高斯模糊實(shí)現(xiàn)原理

鼠標(biāo)mouseover時候,對img標(biāo)簽加上 -webkit-filter濾鏡樣式,mouseleave時候再移除掉


有興趣的盆友,可以去我的github上下載源碼,喜歡的話給個star~https://github.com/LucienYang/blur_nav

以上只是從技術(shù)上驗(yàn)證了一種可能性,目前并未考慮性能,以及瀏覽器兼容性,我用的是Chrome瀏覽器測試

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容