網(wǎng)站都變成灰色了,這其中是怎么實(shí)現(xiàn)的呢?
大家好,我是可樂。
當(dāng)大家看到全站的內(nèi)容都變成了灰色,包括按鈕、圖片等等。這時(shí)候我們可能會(huì)好奇這是怎么做到的呢?
有人會(huì)以為所有的內(nèi)容都統(tǒng)一換了一個(gè) CSS 樣式,圖片也全換成灰色的了,按鈕等樣式也統(tǒng)一換成了灰色樣式。但你想想這個(gè)成本也太高了,而且萬一某個(gè)控件忘記加灰色樣式了豈不是太突兀了。
其實(shí),解決方案很簡單,只需要幾行代碼就能搞定了。通過參考資料,我總結(jié)出以下幾個(gè)方法可以幫助我們達(dá)到目的:
使這個(gè)網(wǎng)頁的顏色變成灰色的最簡單的方法,就是在當(dāng)前頁面的css里面。添加下面的代碼,并且讓他在任意的瀏覽器里面正確的執(zhí)行:
方法一
<style type="text/css">
html {
filter:grayscale(100%);
-webkit-filter:grayscale(100%);
-moz-filter:grayscale(100%);
-ms-filter:grayscale(100%);
-o-filter:grayscale(100%);
filter:progid:DXImageTransform.Microsoft.BasicImage(grayscale=1);
-webkit-filter:grayscale(1)
}
</style>
filter是濾鏡的意思,filter:gray的意思就是說給頁面加上一個(gè)灰度的濾鏡,所以html里面的所有內(nèi)容都會(huì)變成黑白的了。不過這個(gè)濾鏡對(duì)于chrome和safari瀏覽器是無效的,所以下面會(huì)有一行-webkit-filter: grayscale(100%);這個(gè)樣式是專屬于使用webkit內(nèi)核的瀏覽器的,意思和FILTER: gray;差不多,只是寫法不同罷了。
方法二
下面這段代碼可以把網(wǎng)頁變?yōu)楹诎?,將代碼加到 CSS 最頂端就可以實(shí)現(xiàn)素裝,如果網(wǎng)站沒有使用 CSS,可以在網(wǎng)頁/模板的 HTML 代碼和 之間插入:
<style>
html {
filter: progid:DXImageTransform.Microsoft.BasicImage(grayscale=1);
-webkit-filter: grayscale(100%);}
</style>
有一些網(wǎng)站可能使用這個(gè) css 不能生效,是因?yàn)榫W(wǎng)站沒有使用最新的網(wǎng)頁標(biāo)準(zhǔn)協(xié)議,請(qǐng)將網(wǎng)頁最頭部的替換為以下代碼:另外,搜索公眾號(hào)Linux就該這樣學(xué)后臺(tái)回復(fù)“電子書”,獲取一份驚喜禮包。
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
還有一些網(wǎng)站 FLASH 動(dòng)畫的顏色不能被 CSS 濾鏡控制,可以在 FLASH 代碼的和之間插入:
<param value="false" name="menu"/>
<param value="opaque" name="wmode"/>
最后
給出一段規(guī)范的代碼,把這段代碼加入到網(wǎng)站頁面的css里面即可實(shí)現(xiàn)頁面變成灰色的效果:
html{
-webkit-filter:grayscale(100%);
-moz-filter:grayscale(100%);
-ms-filter:grayscale(100%);
-o-filter:grayscale(100%);
filter:grayscale(100%);
filter:url("data:image/svg+xml;utf8,<svg xmlns=\'http://www.w3.org/2000/svg\'><filter id=\'grayscale\'><feColorMatrix type=\'matrix\' values=\'0.3333 0.3333 0.3333 0 0 0.3333 0.3333 0.3333 0 0 0.3333 0.3333 0.3333 0 0 0 0 0 1 0\'/></filter></svg>#grayscale");
filter:progid:DXImageTransform.Microsoft.BasicImage(grayscale=1)
}
作者:可樂
歡迎關(guān)注微信公眾號(hào) :Python測試社區(qū)