【3分钟技能get】网站色调灰度 & JSON.parse建议
2013 年 1 月 22 日
碎片化时间如何利用?几分钟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系列】
丰富你的碎片化时间~
更多技术分享,欢迎【扫码关注】~