gpt4 book ai didi

svg - 在 SVG 中使用

转载 作者:行者123 更新时间:2023-12-04 11:41:04 31 4
gpt4 key购买 nike

我正在尝试为 SVG 中的 foreignObject 标记正确实现 switch 标记,以便 Internet Explorer 可以显示其他内容(IE 中没有新内容,总是忽略功能)。文档几乎完全清楚如何做到这一点:

<switch>
<!-- Process the embedded XHTML if the requiredExtensions attribute
evaluates to true (i.e., the user agent supports XHTML
embedded within SVG). -->
<foreignObject width="100" height="50"
requiredExtensions="http://example.com/SVGExtensions/EmbeddedXHTML">
<!-- XHTML content goes here -->
<body xmlns="http://www.w3.org/1999/xhtml">
<p>Here is a paragraph that requires word wrap</p>
</body>
</foreignObject>
<!-- Else, process the following alternate SVG.
Note that there are no testing attributes on the 'text' element.
If no testing attributes are provided, it is as if there
were testing attributes and they evaluated to true.-->
<text font-size="10" font-family="Verdana">
<tspan x="10" y="10">Here is a paragraph that</tspan>
<tspan x="10" y="20">requires word wrap.</tspan>
</text>

该示例清晰明了,并展示了如何使用 requiredExtensions 属性。但是,超链接“http://example.com/SVGExtensions/EmbeddedXHTML”对我来说毫无意义。为了表示 XHTML 是这个 foreignObject 的 requiredExtension,我必须用什么来代替它?

最佳答案

经过多次摆弄,我找到了答案。该示例可能应该添加到文档中...到目前为止,我已经在 IE、FF 和 Chrome 中进行了测试,并且所有三个都正确处理了开关:

我没有使用“requiredExtensions”属性,而是使用“requiredFeatures”属性并链接到“http://www.w3.org/TR/SVG11/feature#Extensibility”

所以它看起来像:

<switch>
<foreignObject width="100" height="50"
requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility">
<!-- whatever external user-agent stuff -->
</foreignObject>

<!-- Alternate SVG content if foreignObject is not supported -->
</switch>

这适用于测试用户代理是否支持外来对象,但它并不完美,因为您仍然没有表示您计划在用户代理可能不支持的外来对象中使用哪个外部命名空间。不过,它总比没有好。

关于svg - 在 SVG 中使用 <switch> 和 <foreignObject>,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12975717/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com