>
所有浏览器已经很长时间以来都支持基本CSS线性和径向梯度。 CSS梯度:SitePoint上的语法速效课程文章可让您快速摘要创建线性和径向梯度所需的语法,以及如何使用重复梯度创建一些基本模式,如果您关心Web性能,这很棒并尽可能避免使用图像。> 在线性和径向梯度之后,浏览器现在慢慢开始支持圆锥梯度,这是Lea Verou首先倡导的。
在本文中,您将了解有关简单圆锥梯度和重复圆锥梯度的语法,使用和浏览器的支持。什么是圆锥梯度?
> 从指定的或默认点开始,作为绘制它们的圆的中心,它们都从指定的或默认点开始,
圆锥梯度和径向梯度相似。两者之间的区别在于,在径向梯度的情况下,颜色挡块沿着径向线放置,而在圆锥梯度的情况下,颜色停止沿圆的圆周放置。>可以根据百分比或程度指定圆锥梯度的颜色挡位置。 0%或0DEG的值是指圆锥梯度的顶部。当您顺时针移动时,值会逐渐增加。 360兆位的值等于0DEG。任何颜色停止值大于100%或360级的颜色都不会在圆锥梯度上绘制,但仍会影响其颜色分布。
>以下图像显示了一个圆锥梯度,该圆锥梯度以黄色开头,并以橙色结尾。
圆锥梯度允许您指定其起始角度及其中心位置。当省略这些值时,角度默认为零,位置默认为中心。这是圆锥梯度的语法:
而不是使用学位,也可以使用百分比。正如我之前提到的,100%的值等于360度。因此50%的值将等于180度。如果您确切地知道要用特定颜色覆盖的圆圈的哪一部分,则使用百分比可能会更容易。同样,也可以根据百分比指定圆锥梯度的中心位置。上述任何圆锥梯度值都将产生以下结果:
<span>conic-gradient([ from <angle> ]? [ at <position> ]?, <angular-color-stop-list>)</span>
并非所有浏览器当前都支持圆锥梯度,因此我将在每个示例中包含一个参考图像,以显示最终结果应该是什么样的。
<span>background: conic-gradient(from 0deg at center, yellow 0deg, orange 360deg); </span><span>background: conic-gradient(at center, yellow 0deg, orange 360deg); </span><span>background: conic-gradient(at 50% 50%, yellow 0deg, orange 360deg); </span><span>background: conic-gradient(from 0deg, yellow 0deg, orange 360deg); </span><span>background: conic-gradient(yellow 0deg, orange 360deg); </span><span>background: conic-gradient(yellow, orange);</span>
>您可以使用圆锥梯度来创建不同种类的颜色轮毂。例如,以下演示使用圆锥梯度中彩虹的颜色来创建彩虹轮。
请注意,我如何将圆锥梯度的起始和末端颜色设置为紫罗兰色,以避免突然过渡。
请参阅Codepen上的SitePoint(@sitepoint)的圆锥梯度的笔 -
圆锥梯度的另一个好处是能够轻松创建饼图的能力。创建饼图的过程实际上非常简单。您所要做的就是为不同颜色提供一些硬颜色停止值。梯度的每种颜色都可以开始和末端角度。当下一种颜色的起始角值小于或等于当前颜色的末端角度值时,它们将以非常清晰,瞬时的颜色变化显示,从而形成不同的扇区。
有两种指定这些颜色停止值的方法。第一个是始终将每种颜色的启动角度设置为零。第二种方法是设置下一个颜色的启动角,等于上一个颜色的末端角度。
您最终决定要做的是偏好问题。
>
以下代码段显示这两种方法并排的圆锥梯度值以进行比较:
<span>conic-gradient([ from <angle> ]? [ at <position> ]?, <angular-color-stop-list>)</span>
请参阅codepen上的sitepoint(@sitepoint)的圆锥梯度的笔 -
上的饼图
使用CSS圆锥梯度创建甜甜圈图请参阅codepen上的sitepoint(@sitepoint)的圆锥梯度的笔 -
<span>background: conic-gradient(from 0deg at center, yellow 0deg, orange 360deg); </span><span>background: conic-gradient(at center, yellow 0deg, orange 360deg); </span><span>background: conic-gradient(at 50% 50%, yellow 0deg, orange 360deg); </span><span>background: conic-gradient(from 0deg, yellow 0deg, orange 360deg); </span><span>background: conic-gradient(yellow 0deg, orange 360deg); </span><span>background: conic-gradient(yellow, orange);</span>
重复圆锥梯度
<span>conic-gradient([ from <angle> ]? [ at <position> ]?, <angular-color-stop-list>)</span>
>以下图像显示了如何在矩形或方形区域上延伸具有四个90度扇区的圆锥梯度可以创建棋盘:
<span>background: conic-gradient(from 0deg at center, yellow 0deg, orange 360deg); </span><span>background: conic-gradient(at center, yellow 0deg, orange 360deg); </span><span>background: conic-gradient(at 50% 50%, yellow 0deg, orange 360deg); </span><span>background: conic-gradient(from 0deg, yellow 0deg, orange 360deg); </span><span>background: conic-gradient(yellow 0deg, orange 360deg); </span><span>background: conic-gradient(yellow, orange);</span>
>您可以通过改变不同扇区的大小以及更改梯度的角度来创建更多模式。
>浏览器支持和polyfills
在撰写本文时,Chrome 59和“实验Web平台功能”标志后面的Opera 46支持Conic梯度。默认情况下或在某些标志后面,没有其他浏览器支持此新标准。这意味着您必须等待一点才能提供足够的浏览器支持。>本教程向您展示了如何使用圆锥梯度创建PIE和DONUT图表。之后,您了解了如何仅使用CSS创建不同的背景模式,并借助重复圆锥梯度。一旦浏览器支持足够好,您将不再需要依靠大型库或图像来完成这些任务。
要了解有关圆锥梯度的更多信息,请不要错过这些资源:
圆锥梯度部分,并替换了内容模块4
>Lea Verou的初始草稿规范,其历史可追溯至2011年。
>我可以使用CSS圆锥梯度创建饼图吗?怎么样?通过设置不同的颜色 - 停止值,您可以创建类似于饼图的不同颜色的部分。然后,您可以使用这些部分来表示不同的数据点。
>
>我如何对CSS圆锥梯度进行动画?我可以在CSS圆锥梯度中使用透明颜色吗? >是的,您可以在CSS圆锥梯度中使用透明的颜色。这可以创建有趣的视觉效果,例如逐渐淡入透明度的梯度。
>以上是如何为饼图创建CSS圆锥梯度以及更多的详细内容。更多信息请关注PHP中文网其他相关文章!