html - 如何将颜色应用于 SVG 文本元素

标签 html css text svg

好吧……我要疯了。我已经开始尝试使用 SVG。使用 SVG 并将 CSS 类应用到它就像一种魅力。我只是不知道我做错了什么,但我只是无法让类(class)在 svg 文本元素上工作。我已经把它全部剥离了,这就是我得到的:

<!DOCTYPE html>
<html>
<head>
    <meta charset='UTF-8'>
    <title>Playground</title>
</head>
<body>
    <style type="text/css">
        .mainsvg {
            height: 320px;
            border: 1px solid red;
            width: 400px;
        }
        .caption {
            color: yellow;
        }
    </style>
    <h2>SVG - Sandbox</h2>
    <div>
        <svg xmlns="http://www.w3.org/2000/svg" version="1.1" class="mainsvg">
            <text x="65" y="40" class="caption">Fact</text>
        </svg>
    </div>
</body>
</html>

根据 http://www.w3.org/TR/SVG/styling.html#ClassAttribute这应该工作...

关于更改内容或替代方案的任何提示/技巧?

最佳答案

设置类是正确的,但 CSS 颜色属性对 SVG 没有影响。 SVG 使用 fillstroke特性。在您的情况下,您可能只需要更改颜色即可填充。这会在 Firefox 中为我显示黄色文本。

<!DOCTYPE html>
<html>
<head>
    <meta charset='UTF-8'>
    <title>Playground</title>
</head>
<body>
    <style type="text/css">
        .mainsvg {
            height: 320px;
            border: 1px solid red;
            width: 400px;
        }
        .caption {
            fill: yellow;
        }
    </style>
    <h2>SVG - Sandbox</h2>
    <div>
        <svg xmlns="http://www.w3.org/2000/svg" version="1.1" class="mainsvg">
            <text x="65" y="40" class="caption">Fact</text>
        </svg>
    </div>
</body>
</html>

关于html - 如何将颜色应用于 SVG 文本元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17466707/

相关文章:

C文本处理: Output Wrong Size

javascript - 在可扩展的 div jQuery 上悬停/取消悬停期间多次调用

php - 当 MySQL 记录更改时,如何更新页面上显示的值?

javascript - 调整页面大小时更改图像源?

javascript - 模态背景滚动中的 Bootstrap 模态

MySQL,文本索引不起作用

javascript - jQuery.html() 删除脚本和样式

javascript - 无法在 mvc4 中使用 onclick 从 anchor 标记获取调用

css - lessc 不在 osx 上编译

c++ - 如何从 C++ 中的大文本文件中读取部分数据