Html 如果从svg中省略,viewBox属性的默认值是什么?
我认为,如果从svg中省略Html 如果从svg中省略,viewBox属性的默认值是什么?,html,xml,svg,Html,Xml,Svg,我认为,如果从svg中省略viewBox属性,则假定它是viewBox=“0 100”。我尝试了两种测试: 使用viewBox属性: 省略的viewbox的默认值为“如果未指定” 这里的问题有点概念化。因此,与未指定的viewbox等效的viewbox是0 0宽度高度,但未指定的viewbox根本不存在。一个视图框等于一个变换,如果渲染这些内容,通常会对一个视图框进行等效变换,并将其添加到矩阵中。未指定的viewbox根本不应用任何转换。因此,这个问题变成了一个未指定的transform属
viewBox
属性,则假定它是viewBox=“0 100”
。我尝试了两种测试:
省略的viewbox的默认值为“如果未指定”
这里的问题有点概念化。因此,与未指定的viewbox等效的viewbox是0 0宽度高度
,但未指定的viewbox根本不存在。一个视图框等于一个变换,如果渲染这些内容,通常会对一个视图框进行等效变换,并将其添加到矩阵中。未指定的viewbox根本不应用任何转换。因此,这个问题变成了一个未指定的transform
属性的默认值是什么
将SVG对象本身视为欧几里德空间中的一个元素可能会有所帮助,就像其中的形状一样。圆
对象(尽管不在规范内)可能有一个viewbox。这意味着它将对圆的坐标系进行某种缩放,并使缩放后的视图与圆的大小相等。因此,所有在空间中具有宽度和高度的对象都可以有一个viewbox,其中一些对象实际上像图像对象和嵌套的SVG对象。没有viewbox,所有内容都是空间中实际存在的大小。对于SVG对象本身,这意味着viewbox与视图相等,这相当于在0宽度高度查看它,因为这是对象本身的实际大小。但是,实际上,没有viewbox的效果是无效的。实际上,当转换为变换时,等于0 0 0宽度高度
的viewbox将不会应用缩放或平移值。但是,这可以通过简单地忽略它来实现
如果省略宽度和高度,则认为它们等于100%。也就是说,它们占据了用于查看它们的物理框内100%的空间。与viewbox相对的视口。没有默认值,没有viewbox的svg的显示不能被任何viewbox值替代。有了viewBox,svg内容将与其容器一起缩放,没有它就不会缩放。@RobertLongson没有viewBox
标记并且没有指定任何宽度或高度svg的默认宽度和高度是多少?我总是得到300x150 svg。正确,这是默认值。@RobertLongson我还注意到,使用viewBox
标记,svg占据其容器的100%宽度,即使它的显示是inline
。为什么会这样?因为SVG规范说应该这样做。和你观察到的所有其他事情一样。