使用CSS的黑色到透明线性渐变时,我注意到它并没有平滑地淡入透明,而是使灰色区域更长时间地停留,并且只有在靠近末尾时才变得透明,有一个明显的限制。
注意到这一点后,我决定使用具有相同属性的Photoshop渐变,它看起来更好,渐变从黑色平滑线性地变为透明。
以下是一个示例,显示了左侧的CSS线性渐变和右侧的Photoshop生成的渐变-两者都使用完全相同的属性创建:
正如您所看到的,差异非常明显。是否可以将Photoshop的真实线性渐变复制到CSS中,或者我的唯一选择是使用base64/png技巧来实现实际的线性渐变?因为当前的css线性渐变并不是真正的线性,事实上,从我所看到的来看,它创建了一个easeInOut渐变而不是线性渐变。
注意到这一点后,我决定使用具有相同属性的Photoshop渐变,它看起来更好,渐变从黑色平滑线性地变为透明。
以下是一个示例,显示了左侧的CSS线性渐变和右侧的Photoshop生成的渐变-两者都使用完全相同的属性创建:
#css, #ps{
height:100px;
width:50%;
}
#css{
float:left;
background:linear-gradient(black, transparent);
}
#ps{
float:right;
background:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAABkCAMAAABw8qpSAAABLFBMVEUCAgIDAwMEBQUGBgYICAgJCQkLCwsNDQ0PDw8RERETExMVFRUXFxcZGRkbGxsdHh4gICAiIiIkJSUnJycpKiosLCwvLy8xMjI0NDQ3Nzc5Ojo8PDw/Pz9CQkJFRUVISEhLS0tOTk5RUVFUVFRXV1daWlpdXV1gYGBjY2NmZmZpamptbW1wcHBzc3N2dnZ5eXl8fX2AgICDg4OGhoaJiYmMjIyQkJCTk5OWlpaZmZmcnJyfn5+ioqKlpqaoqamrrKyvr6+ysrK0tbW3uLi6urq9vb3AwMDDw8PGxsbJycnLy8vOzs7R0dHT09PW1tbY2Njb29vd3d3g4ODi4uLk5OTm5ubp6enr6+vt7e3v7+/x8fHy8vL09PT29vb4+Pj5+fn7+/v8/Pz+/v4AAAE6GCMnAAAAY3RSTlP+/Pv5+Pb08vHv7evp5uTi4N3b2NbT0c7LyMbDwL26t7SxrquopaKfnJmWk4+MiYaDgHx5dnNwbGlmY2BdWldUUU5LSEVCPzw5NzQxLiwpJyQiHx0bGRYUEhAODQsJBwYEAwEIFXNRAAAAEElEQVQIHWNJZpnLwjj0IQCJ8QLzQI0QnQAAAABJRU5ErkJggg==");
}
<div id="css"></div>
<div id="ps"></div>