【发布时间】:2017-05-20 12:18:31
【问题描述】:
当使用线性渐变时,例如
div {
width: 300px;
height: 50px;
background: linear-gradient(to right, blue, red);
}
<div></div>
颜色可以通过不同的路径改变。
在上面的示例中,可以通过线性修改R 和B 通道来完成,而不触及G 通道——但变化也可以是非线性的(例如,提供,一种线性感,因为它更符合生理性),或者通过修补G 频道(再次因为它在我们眼中似乎是更真实的“红到蓝过渡”)。
linear-gradient 中用于在两种颜色之间切换的公式是什么?
【问题讨论】:
-
试试:
background: linear-gradient(to right, blue 50% , red 50%);看看它的作用:) 并阅读developer.mozilla.org/en-US/docs/Web/CSS/linear-gradient 开始了解它的工作原理以及如何使用它;) -
@GCyrillus:我不明白你的评论。我知道
linear-gradient是什么以及如何使用它。我不知道是什么 formula 用于从一种颜色过渡到另一种颜色。可以使用线性转换(在轴上以相等的步长从 0 到 254(因此每个均匀的通道中的数值变化相同)或使用转换先慢后快的公式(例如,抛物线的) )因为(这只是一个例子)它看起来更好(更线性)我们的眼睛(它们本身是高度非线性的。您提供的链接根本没有讨论这个。 -
@GCyrillus (cont) 也许这只是一个线性过渡,但在那种情况下,像 (100,212,34) 到 (2,28,133) 这样的东西在视觉上可能不是从第一种颜色到第二个(因为它是一种与这两者无关的颜色)。深入来说,我想知道这些转换是否添加了生理成分,或者它只是一个数学线性函数。
-
我相信这只是从 steps 到 steps 的线性过渡,它因绘制区域的大小而异。我们看到的(紫色)不是我们所期望的。如果您不设置任何值,两种颜色都会从一侧喷涂到另一侧,并在褪色时混合。 :) (编辑:尝试蓝色或红色之外的透明颜色)
-
刚刚添加了codepen.io/anon/pen/egmbyB 来说明我的评论;)
标签: css algorithm colors linear-gradients