JavaScript中的filters濾鏡大家一定不會陌生,它是CSS的一種延伸使用方法,可以為DOM元素添加各種各樣的樣式效果,讓頁面更加生動有趣。今天我們就來詳細(xì)了解一下各類filters濾鏡。
首先,我們來看看最常見的一種濾鏡:灰度濾鏡,可以將圖片的顏色全部置灰,營造出一種黑白灰調(diào)的藝術(shù)效果。下面是一個簡單的代碼示例:
var img = document.getElementById("myImg"); img.style.filter = "grayscale(100%)";
如上代碼所示,我們首先要獲取到需要添加濾鏡的圖片對象,然后使用style.filter方法為其添加灰度效果。值得注意的是,這里的grayscale參數(shù)可以在0-100%之間任意設(shè)置,數(shù)值越大,圖片的顏色越深。
接下來,我們再來看一種比較常用的模糊濾鏡,可以將圖片或者文字渲染成模糊的效果,讓頁面看起來更加柔和和美觀。下面是簡單的代碼示例:
var img = document.getElementById("myImg"); img.style.filter = "blur(5px)";
如上代碼所示,我們同樣是先獲取到需要添加濾鏡的圖片對象,然后設(shè)置style.filter屬性,blur參數(shù)可以在0-5px之間進(jìn)行設(shè)置,數(shù)值越大,圖片或文字的模糊度越高。
除了上述的兩種濾鏡之外,還有許多其他的濾鏡效果,比如色相,亮度,對比度,銳度等等。我們可以通過下面這個示例代碼來了解各種濾鏡效果的使用方式:
var img = document.getElementById("myImg"); img.style.filter = 'saturate(200%) contrast(200%) brightness(150%) hue-rotate(90deg) invert(75%) sepia(50%)';
如上代碼所示,我們在一行內(nèi)設(shè)置了saturate,contrast,brightness,hue-rotate,invert和sepia等六種濾鏡效果,可以根據(jù)需要隨意進(jìn)行增刪操作。各個效果的數(shù)值參數(shù)也可以根據(jù)需要進(jìn)行調(diào)整。
最后,需要特別注意的是,除了Chrome瀏覽器之外,其他瀏覽器的濾鏡效果支持都并不完善,請在使用之前先做好兼容性測試。