【发布时间】:2020-01-01 11:12:35
【问题描述】:
我只是在 css 中使用线性渐变,顺便说一句,生成的渐变效果与设计不同。我从来没有在任何 Android、iOS、React Native 或 HTML5 画布上遇到过这个问题,但只是在 css 上。
.gradient {
background-image: linear-gradient(to right top, red, blue);
}
为了展示 css 的 linear-gradient 和 canvas 的 create createLinearGradient 之间的差异,我做了一个小提琴。
请检查此fiddle link。
上面是css渐变,下面是canvas之一。
如您所见,画布的createLinearGradient 工作正常,但在css 上same-color-line(上图中的黄线)不垂直于渐变的方向,而是看起来像元素的另一个diagonal。
有什么理由为什么它在 css 中?
【问题讨论】:
-
这很好地解释了事情:developer.mozilla.org/en-US/docs/Web/CSS/linear-gradient。它显示为这样,因为您添加了“顶部”值
-
@Sorix,非常感谢,您的链接对于理解线性渐变非常有帮助,顺便说一句,我必须将渐变设置为任何动态矩形元素的右上角。我的情况在 css 中有什么解决方案吗?
-
可能使用角度而不是顶部或底部。如果我理解正确,你的渐变应该总是在同一个角度......像这样:linear-gradient(45deg, red, blue);
-
用交互式演示更新了我的答案
标签: html css html5-canvas linear-gradients