<switch> - SVG: Scalable Vector Graphics 编辑
The <switch>
SVG element evaluates any requiredFeatures
, requiredExtensions
and systemLanguage
attributes on its direct child elements in order, and then renders the first child where these attributes evaluate to true. Other direct children will be bypassed and therefore not rendered. If a child element is a container element, like <g>
, then its subtree is also processed/rendered or bypassed/not rendered.
The display
and visibility
properties have no effect on <switch>
element processing. In particular, setting display:none
on a child has no effect on the true/false testing for <switch>
processing.
Usage context
Categories | Container element |
---|---|
Permitted content | Any number of the following elements, in any order: Animation elements Descriptive elements Shape elements <a> , <foreignObject> , <g> , <image> , <svg> , <switch> , <text> , <use> |
Attributes
Global attributes
- Conditional processing attributes
- Core attributes
- Graphical event attributes
- Presentation attributes
class
style
externalResourcesRequired
transform
DOM Interface
This element implements the SVGSwitchElement
interface.
SVG <switch> example
This example demonstrates showing different text content depending on the browser's language settings. The switch
element will display the first of its child elements whose systemLanguage
attribute matches the user's language, or the fallback element with no systemLanguage
attribute if none of them match.
HTML Content
<svg viewBox="0 -20 100 50">
<switch>
<text systemLanguage="ar">مرحبا</text>
<text systemLanguage="de,nl">Hallo!</text>
<text systemLanguage="en-us">Howdy!</text>
<text systemLanguage="en-gb">Wotcha!</text>
<text systemLanguage="en-au">G'day!</text>
<text systemLanguage="en">Hello!</text>
<text systemLanguage="es">Hola!</text>
<text systemLanguage="fr">Bonjour!</text>
<text systemLanguage="ja">こんにちは</text>
<text systemLanguage="ru">Привет!</text>
<text>☺</text>
</switch>
</svg>
Result
Specifications
Specification | Status | Comment |
---|---|---|
Scalable Vector Graphics (SVG) 2 The definition of '<switch>' in that specification. | Candidate Recommendation | Clarified the evaluation of the systemLanguage attribute |
Scalable Vector Graphics (SVG) 1.1 (Second Edition) The definition of '<switch>' in that specification. | Recommendation | Initial definition |
Browser compatibility
BCD tables only load in the browser
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论