css3 - 如何將網(wǎng)頁(yè)CSS背景圖高斯模糊且全屏顯示
問(wèn)題描述
以Path為代表的,展示了這種背景圖模糊并全屏顯示的方法,而且會(huì)根據(jù)屏幕分辨率放大縮小。這種效果應(yīng)該怎么實(shí)現(xiàn)呢?
問(wèn)題解答
回答1:高斯模糊是PS、FW圖片處理工具搞的。
全屏顯示的方法1:使用CSS
.bg { background-image:url(scale.jpg); -moz-background-size: 100% 100%; /* Firefox 3.6 */ -o-background-size: 100% 100%;/* Opera 9.5 */ -webkit-background-size: 100% 100%;/* Safari 3.0 */ background-size: 100% 100%;/* Firefox 4.0 and other CSS3-compliant browsers */ -moz-border-image: url(scale.jpg) 0; /* Firefox 3.5 */ filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(src=’scale.jpg’, sizingMethod=’scale’);/* for < ie9 */}
2:使用 IMG 標(biāo)簽
<img src='http://www.baoyu77737.com/wenda/default.jpg'>補(bǔ)充方法
3:使用 CSS3 的背景 Cover
.bg { background: #000 url(scale.jpg) no-repeat center center; -webkit-background-size: cover; -moz-background-size: cover; -o-background-size: cover; background-size: cover;}回答2:
如果不考慮兼容問(wèn)題,可以參考css3的高斯濾鏡。暫時(shí)只有webkit內(nèi)核的瀏覽器支持,并且資源占用較大。如果要兼容,也只有把圖片先高斯模糊了。
-webkit-filter: blur(10px)
模糊可以使用 canvas 來(lái)實(shí)現(xiàn).
blur(document.getElementById(’logo’),’http://s.segmentfault.com/img/logo.png’,2);function blur(element, src, strength){ var image = new Image(); image.onload = function(e){var canvas = document.createElement(’canvas’);var context = canvas.getContext(’2d’);canvas.width = this.width;canvas.height = this.height;context.drawImage(this, 0, 0);context.globalAlpha = 0.5; // Higher alpha made it more smooth// Add blur layers by strength to x and y// 2 made it a bit faster without noticeable quality lossfor (var y = -strength; y <= strength; y += 2) { for (var x = -strength; x <= strength; x += 2) {context.drawImage(canvas, x, y); }}context.globalAlpha = 1; element.style.backgroundImage = ’url(’+canvas.toDataURL()+’)’; } image.src = src;}
代碼未測(cè)試。思路大概是這樣。
相關(guān)文章:
1. python - 啟動(dòng)Eric6時(shí)報(bào)錯(cuò):’qscintilla_zh_CN’ could not be loaded2. php - 微信開(kāi)發(fā)驗(yàn)證服務(wù)器有效性3. MySQL中的enum類型有什么優(yōu)點(diǎn)?4. android下css3動(dòng)畫(huà)非常卡,GPU也不差啊5. mysql - 記得以前在哪里看過(guò)一個(gè)估算時(shí)間的網(wǎng)站6. css3 - 純css實(shí)現(xiàn)點(diǎn)擊特效7. javascript - 關(guān)于<a>元素與<input>元素的JS事件運(yùn)行問(wèn)題8. javascript - vue 怎么渲染自定義組件9. python - 有什么好的可以收集貨幣基金的資源?10. html - vue項(xiàng)目中用到了elementUI問(wèn)題
