將頁面變灰


不知道還有多少人記得曾經為了悼念5·12汶川地震,很多網站都將頁面中所有的圖片以及文字變成灰色。彪叔曾經也做了一個工具“哀悼的CSS(網站變灰)2.0”,用來把網站變灰。

想想當初有多人為了這個事情而忙得不可開交,要把所有的圖片在photoshop里去色,再到樣式表中把所有的顏色值改成灰色,最后等過了時間之后又要恢復原狀。其中也有一些網站僅僅是在IE瀏覽器中用了濾鏡來解決,並沒有去處理其他瀏覽器的。

html{filter:progid:DXImageTransform.Microsoft.BasicImage(grayscale=1);}

今天發現其實也可以讓Firefox和Chrome變成灰色,不過Opera和Safari沒成功,暫時先不理會,有一點東西就先跟大家分享。首先來看一下正常的頁面http://guangjs.com,好多漂亮的彩圖;再看一下我把源碼下載,添加了一行CSS樣式后的效果(點這里查看)。

html {
	filter: grayscale(100%);
	-webkit-filter: grayscale(100%);
	-moz-filter: grayscale(100%);
	-ms-filter: grayscale(100%);
	-o-filter: grayscale(100%);
	filter: url(desaturate.svg#grayscale);
	filter:progid:DXImageTransform.Microsoft.BasicImage(grayscale=1);
	-webkit-filter: grayscale(1);
}

大面積的操作降低頁面性能是肯定的,這里分享這個也只是想跟大家說一下,最近我看到這個樣式,感覺太厲害了。在這個樣式代碼中,涉及到了一個文件,就是desaturate.svg,從文件擴展名中可以看到,利用到了SVG技術了,代碼如下:


 
 
 
         
 
  
  
  
           
            
          
 
 
 
 
         

只需要將這代碼保存為desaturate.svg,再通過url鏈接就可以了,十分簡單。在前面看到的demo頁面中是在body中增加了樣式,影響頁面中所有的元素,如果有需要的話,可以單獨設置一個公共庫中的類名來調用,如:

.pic_gray {
	filter: grayscale(100%);
	-webkit-filter: grayscale(100%);
	-moz-filter: grayscale(100%);
	-ms-filter: grayscale(100%);
	-o-filter: grayscale(100%);
	filter: url(desaturate.svg#grayscale);
	filter: gray;
	-webkit-filter: grayscale(1);
}

這樣操作的話,可以讓某個區域變成灰色,一切盡在你的掌握。

相關鏈接

Convert Images To Black And White With CSS


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM