当前位置: 首页 > 知识库问答 >
问题:

safari中的svg透明径向渐变不工作

公西俊能
2023-03-14

我有一个SVG径向渐变可以在Chrome、Firefox甚至Internet Explorer中工作,但在Safari中不工作。你知道怎么在Safari里用这个吗?

下面是代码页:http://codepen.io/fractorr/pen/ovayvv

<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">

    <defs>
        <radialGradient r="50%" cy="50%" cx="50%" id="myRadialGradient2">
            <stop stop-color="transparent" offset="0"></stop>
            <stop stop-color="#000000" offset="1"></stop>
        </radialGradient>
    </defs>

    <rect x="10" y="10" width="100" height="100" rx="10" ry="10" style="fill:blue;"/>
    <rect x="10" y="10" width="100" height="100" rx="10" ry="10" style="fill:url(#myRadialGradient2); stroke: #005000; stroke-width: 3;"/>

</svg>

共有1个答案

东方国安
2023-03-14

在渐变的定义中,改变停止点的不透明度。因此,不是将颜色从给定值转换为透明度,而是更改透明度本身。结果似乎准确地模仿了firefox的行为。

在代码中保留stop-color属性不会损害显示的结果。然而,重复的计算是没有意义的,并且鉴于位映射梯度是相对昂贵的iirc,最好放弃它。

请参阅以下演示:http://codepen.io/anon/pen/aoqrep

<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">

    <defs>
        <radialGradient r="50%" cy="50%" cx="50%" id="myRadialGradient2">
            <stop stop-opacity="0" offset="0"></stop>
            <stop stop-opacity="1" offset="1"></stop>
        </radialGradient>
    </defs>

    <rect x="10" y="10" width="100" height="100" rx="10" ry="10" style="fill:blue;"/>
    <rect x="10" y="10" width="100" height="100" rx="10" ry="10" style="fill:url(#myRadialGradient2); stroke: #005000; stroke-width: 3;"/>

</svg>
 类似资料:
  • 我想创建一个模拟光的圆,我需要一个径向梯度。我希望它的中心是黄色的,外侧是透明的。 我试过了,但没有达到预期的效果。

  • SVG 径向渐变 - radialGradient <radialGradient> 元素用来定义一个径向渐变,和前面一样,它也必须包含在 <defs> 定义标签中。 实例代码1 - 椭圆 代码解释 <radialGradient> 标签的id属性定义了该渐变的唯一标识名称 cx, cy 和 r 属性定义了最外面的圆,fx 和

  • 问题内容: RGBA是非常有趣的,所以是,和呃… …是啊。:) 有没有一种方法可以将RGBA和渐变这两者结合起来,以便使用当前/最新的CSS规范可以实现alpha透明度的渐变。 问题答案: 是。您可以在webkit和moz渐变声明中使用rgba: (src) (src) 显然,您甚至可以使用奇怪的“扩展十六进制”语法在IE中执行此操作。第一组(在示例55中)指的是不透明度级别: (src)

  • 描述 (Description) svg-gradient是一种颜色到另一种颜色的过渡。 它可以为同一个元素添加许多颜色。 它至少包含三个参数 - 第一个参数标识渐变类型和方向。 其他参数列出其位置和颜色。 在第一个和最后一个位置指定的颜色是可选的。 可以设置方向 - 从中​​心到底部,右边,右下角,右上角,椭圆或椭圆。 参数 - 颜色在列表中停止 - list - 列出所有颜色及其位置。 esc

  • 问题内容: 我一直在尝试产生基本的径向渐变背景,但没有成功。我设法获得了线性渐变,如下面的代码所示,但是我不知道如何使用不同的颜色使其呈放射状- 如下图所示。任何帮助将不胜感激。:) 问题答案: 看看我的RadialGradientLayer的实现,可以随时对其进行修改 就我而言,我只需要使用两种颜色,如果需要更多颜色,则需要修改中声明的数组。同样,在从此类创建对象之后,请不要忘记调用它,否则它将

  • 刚刚为我正在建设的网站设计了一个新的徽标,并制作了一个透明的背景PNG图像,我希望在它后面有一个放射状的图像,并使图像保持在半径起始的中心。 它在桌面上看起来很好,直到你最小化屏幕,然后出现严重的溢出。我在HTML和正文部分尝试了,这消除了侧面的灰色空间,但图像从径向渐变偏移,看起来很俗气。这个问题也存在于手机中,显示溢出,如果我选择隐藏它,那么它就非常偏离中心。 我尝试了CSS中不同的值的多种组