SVG RECT 宽度和高度为 100%

Gre*_*eso 6 w3c svg background-color fill

我正在创建一个 SVG 元素,并且想更改其背景颜色。根据这个问题,并根据W3C 的建议background-color这不是 SVG 的标准样式,但fill必须使用。但是,这fill不起作用,最常见的解决方案是在元素内部创建一个rect元素svg,并使该 rect 元素的宽度和高度与svg.

因此,以下是建议解决方案的结果:

<svg width="300" height="200">
    <rect width="300" height="200" style="fill: rgb(0, 255, 0);></rect>
</svg>
Run Code Online (Sandbox Code Playgroud)

然后我将其更改为:

<svg width="300" height="200">
    <rect width="100%" height="100%" style="fill: rgb(0, 255, 0);"></rect>
</svg>
Run Code Online (Sandbox Code Playgroud)

(请注意,我在第二次尝试中已设置为 100%)widthheight

现在我的问题是:即使这可行,使用宽度和高度的百分比是 W3C 标准吗?或者这是一个黑客?

谢谢。

Ric*_*ock 10

使用宽度和高度百分比是 W3C 标准吗?

是的。根据https://www.w3.org/TR/SVG/coords.html

支持的长度单位标识符有:em、ex、px、pt、pc、cm、mm、in 和百分比