第一步,打開HBuilder工具,新建靜態(tài)頁面blur.html,如下圖所示:
成都創(chuàng)新互聯(lián)公司是一家集網(wǎng)站建設(shè),青州企業(yè)網(wǎng)站建設(shè),青州品牌網(wǎng)站建設(shè),網(wǎng)站定制,青州網(wǎng)站建設(shè)報價,網(wǎng)絡(luò)營銷,網(wǎng)絡(luò)優(yōu)化,青州網(wǎng)站推廣為一體的創(chuàng)新建站企業(yè),幫助傳統(tǒng)企業(yè)提升企業(yè)形象加強企業(yè)競爭力??沙浞譂M足這一群體相比中小企業(yè)更為豐富、高端、多元的互聯(lián)網(wǎng)需求。同時我們時刻保持專業(yè)、時尚、前沿,時刻以成就客戶成長自我,堅持不斷學(xué)習(xí)、思考、沉淀、凈化自己,讓我們?yōu)楦嗟钠髽I(yè)打造出實用型網(wǎng)站。
第二步,在body/body插入一個div/div,再在div元素里插入五個img元素,分別設(shè)置為class,如下圖所示:
第三步,設(shè)置五個img元素的樣式,圖片高度和寬度為250px,如下圖所示:
第四步,預(yù)覽該靜態(tài)頁面,在瀏覽器中查看頁面效果,如下圖所示:
第五步,分別設(shè)置class為two、three、four和five的樣式,如下圖所示:
6
第六步,再次預(yù)覽該靜態(tài)頁面,利用IE瀏覽器查看效果,如下圖所示:
本身他是按像素的方式渲染,所以你就1px的空心圓形,太小了,邊緣會出現(xiàn)模糊,如果圓畫大一點情況就會消失?;蛘吣憧梢韵绕揭葡伦鴺?,讓你的中心坐標點是整數(shù),再試看看。
不光繪制圖片,在高分屏下,繪制文字和線條都會出現(xiàn)模糊的現(xiàn)象,GitHub上有一個hidpi-canvas-polyfill可以很好的解決這個問題,但是沒有對圖片進行處理。如果你了解了原因,解決這個問題也很容易。
首先,引入上方這個polyfill;
然后,得到devicePixelRatio和backingStorePixelRatio的比例,可以使用下面的方法
var?getPixelRatio?=?function(context)?{
var?backingStore?=?context.backingStorePixelRatio?||
context.webkitBackingStorePixelRatio?||
context.mozBackingStorePixelRatio?||
context.msBackingStorePixelRatio?||
context.oBackingStorePixelRatio?||
context.backingStorePixelRatio?||?1;
return?(window.devicePixelRatio?||?1)?/?backingStore;
};
//調(diào)用
var?ratio?=?getPixelRatio(ctx);
之后,在調(diào)用ctx.drawImage()的時候,給width和height乘以ratio,如下:
ctx.drawImage(document.querySelector('img'),?10,?10,?300?*?ratio,?90?*?ratio);
所謂的毛玻璃效果其實是半透明+模糊,可以用CSS filter實現(xiàn)。
時間不多,就拋個磚,題主可以自己找一下文檔和更多案例。
filter - CSS
div {
-moz-filter: blur(5px);
-webkit-filter: blur(5px);
-o-filter: blur(5px);
-ms-filter: blur(5px);
filter: blur(5px);
}
大體思路是,當(dāng)出現(xiàn)彈出層的時候,對背景層增加blur filter,再給彈出層的一定透明度就可以了。
因為有同學(xué)堅持說 CSS filter 只能用于圖片,所以錄了一個小視頻,證明它是可以用于可視的DOM元素的。
在 codepen 上找了一個栗子,是通過CSS filter + JS復(fù)制滾動元素實現(xiàn)的毛玻璃 Nav Bar 效果,也可以說明,這個屬性真的不是只能作用于圖片,也不需要“截屏”啊。
不光繪制圖片,在高分屏下,繪制文字和線條都會出現(xiàn)模糊的現(xiàn)象。GitHub上有一個hidpi-canvas-polyfill可以很好的解決這個問題,但是沒有對圖片進行處理。如果了解了原因,解決這個問題也很容易。
二種方法:CSS3的filter,加一層Canvas實現(xiàn)高斯模糊。
用filter的話,下面很多層總有個父級吧? 在這個父級上加 filter:blur(5px) 不就完了?粗暴點,body下一個半透明遮罩層,再一個wrapper包住所有內(nèi)容。
用canvas實現(xiàn)高斯模糊,這個本質(zhì)上就是將背景投影到canvas上,然后再高斯模糊,這個可以找相應(yīng)插件。合金隊也有,不過可能太大了。
分享題目:html5模糊,css3模糊
本文地址:http://m.newbst.com/article16/dssedgg.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供電子商務(wù)、網(wǎng)站營銷、外貿(mào)建站、ChatGPT、網(wǎng)頁設(shè)計公司、域名注冊
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)