Polymer SVG作为CSS背景图像不起作用

依云

我有一个包含元素的聚合物纤维网组件。该元素通过CSS(.example:before)附加了SVG背景图像。问题是SVG没有显示。它可以在标准HTML页面上使用,但不能在聚合物元素内使用。我通常会避免在CSS中嵌入SVG。但是,我们使用的是VideoJS(这不是可选的)和由库使用javascript创建的样式控件(添加图标)。

带有Polymer / Shadow Dom的CSS中的SVG是否存在问题?

下面的例子:

 <polymer-element name="example-element">
    <template>

        <style>
            .example :before {
                background-image: url('data:image/svg+xml;utf8,<svg version="1.1" fill="#ffffff" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" width="34.004px" height="36.871px" viewBox="0 0 34.004 36.871" enable-background="new 0 0 34.004 36.871" xml:space="preserve"><path d="M5.198,36.871c-0.415,0-1.825-0.033-2.566-0.451l-0.205-0.108C1.579,35.867,0,35.039,0,33.371V3.61 c0-0.888,1.007-2.368,1.87-2.903c0.868-0.538,2.562-1.203,4.619-0.148l25.614,14.258c1.149,0.641,1.877,1.787,1.899,2.99 c0.023,1.274-0.582,2.416-1.619,3.051l-25.389,15.5C6.433,36.699,5.83,36.871,5.198,36.871"/></svg>');
                background-repeat: no-repeat;
                background-position: center;
                background-size: 40%;
                content: "";
                position: absolute;
                left: 0;
                width: 100%;
                height: 100%;
            }
        </style>

        <div class="example"></div>
    </template>
</polymer-element>

任何解决方案,解决方法或替代方法将不胜感激。

谢谢,伊万

我想补充说明一下,SVG / CSS似乎已被浏览器更改。

从(在CSS中):

background-image: url('data:image/svg+xml;utf8,<svg version="1.1" fill="#000000" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" width="34.004px" height="36.871px" viewBox="0 0 34.004 36.871" enable-background="new 0 0 34.004 36.871" xml:space="preserve"><path d="M5.198,36.871c-0.415,0-1.825-0.033-2.566-0.451l-0.205-0.108C1.579,35.867,0,35.039,0,33.371V3.61 c0-0.888,1.007-2.368,1.87-2.903c0.868-0.538,2.562-1.203,4.619-0.148l25.614,14.258c1.149,0.641,1.877,1.787,1.899,2.99 c0.023,1.274-0.582,2.416-1.619,3.051l-25.389,15.5C6.433,36.699,5.83,36.871,5.198,36.871"/></svg>');

到(浏览器输出):

background-image: url('data:image/svg+xml;utf8,<svg version=1.1 fill=#000000 id=Layer_1 xmlns=http://www.w3.org/2000/svg xmlns:xlink=http://www.w3.org/1999/xlink x=0px y=0px width=34.004px height=36.871px viewBox=0 0 34.004 36.871 enable-background=new 0 0 34.004 36.871 xml:space=preserve><path d=M5.198,36.871c-0.415,0-1.825-0.033-2.566-0.451l-0.205-0.108C1.579,35.867,0,35.039,0,33.371V3.61 c0-0.888,1.007-2.368,1.87-2.903c0.868-0.538,2.562-1.203,4.619-0.148l25.614,14.258c1.149,0.641,1.877,1.787,1.899,2.99 c0.023,1.274-0.582,2.416-1.619,3.051l-25.389,15.5C6.433,36.699,5.83,36.871,5.198,36.871/></svg>');
罗伯特·朗森

URL无效,因为#字符表示片段标识符的开头。您需要将#个字符编码为%23。

您可能会发现,简单地对整个URL进行base64编码更加简单。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

Polymer SVG作为CSS背景图像不起作用

来自分类Dev

SVG作为Div的嵌入式背景图像不起作用

来自分类Dev

SVG的背景图像CSS中的样式在IE中不起作用

来自分类Dev

背景/背景图像不起作用?

来自分类Dev

背景图像渐变不起作用

来自分类Dev

背景图像过渡不起作用

来自分类Dev

背景图像过渡不起作用

来自分类Dev

带有Rails的Google Polymer菜单不起作用

来自分类Dev

为什么在Polymer中此CodeLab示例不起作用?

来自分类Dev

简单的Polymer组件在Safari 10上不起作用

来自分类Dev

为什么我的Polymer自定义CSS属性不起作用?

来自分类Dev

Polymer Dart作为SPA框架

来自分类Dev

导入为背景图像后,SVG动画将不起作用

来自分类Dev

在Polymer中使用CSS Mixins

来自分类Dev

如何覆盖默认的Polymer CSS

来自分类Dev

SVG作为背景图像

来自分类Dev

SVG作为背景图像

来自分类Dev

CSS背景图像在SP 2013中不起作用,但在本地可用

来自分类Dev

CSS中文本上的背景图像在Mozilla中不起作用

来自分类Dev

使用gulp js在css文件中的背景图像路径不起作用

来自分类Dev

使用gulp js在css文件中的背景图像路径不起作用

来自分类Dev

背景图像位置,中心居中不起作用

来自分类Dev

Tableau公共背景图像不起作用

来自分类Dev

包装div的背景图像不起作用

来自分类Dev

悬停时 div 的背景图像过渡不起作用

来自分类Dev

伪元素背景图像不起作用

来自分类Dev

CSS / HTML-背景图片不起作用

来自分类Dev

CSS的主体背景图片不起作用

来自分类Dev

CSS背景图片不起作用