20190614笔记(颜色透明度,css,filter,滤镜,计算属性,json和formData转换)

  今天忙里偷闲,把最近做的笔记做一下整理。

1.json和formData互相转换

  适用场景:对接后台接口。后台接口写的因人而异,不同的人有不同的风格。比如,文件上传,原本就是formData格式,有人偏要写json格式的接口;对象处理,直接用json多方便,有人就偏喜欢用formData。懒得扯皮,自己转拉倒。

代码:

1 // json转formData
2 const formData = new FormData();
3 Object.keys(params).forEach((key) => {
4 formData.append(key, params[key]);
5 });
6 
7 // formData转json
8 var jsonData = {};
9 formData.forEach((value, key) => jsonData[key] = value);

2.css计算属性

  这个是蛮久前的新属性,自己也一直是使用不太多,因为习惯问题。但是也确实有很多好处比如维护方便,所以遇到比较适合的场景,还是会使用的。

eg:line-height: var(--md-title-height);

3.文字效果——filter滤镜

  示例:文字外发光

color: rgb(var(--GG050-rgb));
filter: drop-shadow(0 0 6px rgba(0, 0, 0, 0.35));
这是谷歌首页的样式。
滤镜效果filter:
none | blur() | brightness() | contrast() | drop-shadow() | grayscale() | hue-rotate() | invert() | opacity() | saturate() | sepia() | url()

滤镜可叠加,效果就和PS的滤镜一样

示例css代码:

 1 .blur {
 2     -webkit-filter: blur(4px);
 3     filter: blur(4px);
 4 }
 5 
 6 .brightness {
 7     -webkit-filter: brightness(0.30);
 8     filter: brightness(0.30);
 9 }
10 
11 .contrast {
12     -webkit-filter: contrast(180%);
13     filter: contrast(180%);
14 }
15 
16 .grayscale {
17     -webkit-filter: grayscale(100%);
18     filter: grayscale(100%);
19 }
20 
21 .huerotate {
22     -webkit-filter: hue-rotate(180deg);
23     filter: hue-rotate(180deg);
24 }
25 
26 .invert {
27     -webkit-filter: invert(100%);
28     filter: invert(100%);
29 }
30 
31 .opacity {
32     -webkit-filter: opacity(50%);
33     filter: opacity(50%);
34 }
35 
36 .saturate {
37     -webkit-filter: saturate(7);
38     filter: saturate(7);
39 }
40 
41 .sepia {
42     -webkit-filter: sepia(100%);
43     filter: sepia(100%);
44 }
45 
46 .shadow {
47     -webkit-filter: drop-shadow(8px 8px 10px green);
48     filter: drop-shadow(8px 8px 10px green);
49 }

4.关于颜色透明度的几种写法

  我们知道颜色有3种写法,与其对应的可以直接在设置颜色时设置透明度,示例:

1 rgba: rgba(0, 0, 0, 0.35) 第四位表示透明度
2 hex: #00000059 (后两位表示透明度且是16进制,前6位表示颜色)
3 hsla:hsla(0, 0%, 0%, 0.35) 第四位表示透明度

此外,css有opacity属性是直接可以设置元素的透明度。

原文地址:https://www.cnblogs.com/ljwsyt/p/11024521.html