【3分钟技能get】网站色调灰度 & JSON.parse建议

碎片化时间如何利用?几分钟get常用技能点!

这次分享两个小知识点: CSS3的filter滤镜 以及 JSON.parse 使用小建议。

1:实现网站的灰度

4月4日,沉痛悼念逝去的同胞,各大网站基本都下掉了娱乐板块,并且网站色调调整为灰色。

怎么实现的呢?全部图片以及文本背景色设置为灰色?这样的话成本是巨大的。其实只需要加上一行css即可:

filter: grayscale(100%);

ps:可以找个网站看下效果,给html元素加上上述代码即可。

至于兼容性,对于不支持filter的浏览器,有两种解决方案:

1)使用SVG( 可缩放矢量图形

举例:在SVG中声明滤镜:

 //标签用来定义SVG滤镜;id属性可为滤镜定义一个唯一的名称
   
    
   

如何使用:(利用了 url() 属性)

img{
    //用来把元素链接到滤镜。当链接滤镜id锚点时,必须使用#字符
    filter:url('#grayscale');
    //当然也可以使用DataUrl将其内联到url
}

Tips:当然也可以使用 DataUrl 将svg内联到url中

img{
    filter:url("data:image/svg+xml;utf8,#grayscale")
}

2)JS实现

这里有个实现案例,有需要自行研究: https://j11y.io/demos/graysca…

fiter常用属性:

filter: none | blur() | brightness() | contrast() | drop-shadow() | grayscale() | hue-rotate() | invert() | opacity() | saturate() | sepia() | url() ;

这里举个例子: filter:blur(15px) 的使用效果:

2.JSON反序列化建议

有些童鞋可能习惯使用下面的写法:

//假设flag获得的是被序列化后的值
let flag = 'true'; 
JSON.parse(flag) ? 1 :2;

虽然上例的影响微乎其微,但好的编程习惯从小处做起,推荐下面写法:

flag === 'true' ? 1 : 2;

时间就像海绵,挤挤总会有的; 【3分钟技能get系列】 丰富你的碎片化时间~

更多技术分享,欢迎【扫码关注】~