SVG:如何使用100%宽度/高度但具有固定比例

SVG:如何使用100%宽度/高度但具有固定比例,svg,Svg,我有一个SVG,它需要在一个大小可变的容器中打开,但最初会缩小到屏幕DPI的4倍(因此1个像素对应于SVG用户空间的4个单位) 。打开时,它必须占据整个视口,没有滚动条,但固定比例为1/4(相对于屏幕DPI) 指定SVG缩放的唯一方法是指定viewBox 使用整个容器的唯一方法是指定width=“100%”height=“100%” 但当这两个都指定时,SVG会根据容器大小自动缩放 如果不使用JavaScript,这个简单的需求就没有解决方案了吗?我不明白。指定SVG缩放的唯一方法是使用tran

我有一个SVG,它需要在一个大小可变的容器中打开,但最初会缩小到屏幕DPI的4倍(因此1个像素对应于SVG用户空间的4个单位)

。打开时,它必须占据整个视口,没有滚动条,但固定比例为1/4(相对于屏幕DPI)

指定SVG缩放的唯一方法是指定
viewBox

使用整个容器的唯一方法是指定
width=“100%”height=“100%”

但当这两个都指定时,SVG会根据容器大小自动缩放


如果不使用JavaScript,这个简单的需求就没有解决方案了吗?

我不明白。指定SVG缩放的唯一方法是使用
transform=“scale(x)”属性或
元素。viewBox实际上与比例无关,但。。。关于viewBox(应显示的整个文档的可查看矩形)。现在,我能想到的获得屏幕dpi的唯一方法是通过,在这里,您必须为每个可能的分辨率设置不同的
transform:scale()
。。。或者使用js获取并设置它(您也可以在svg文件中附加js),我不明白。指定SVG缩放的唯一方法是使用
transform=“scale(x)”属性或
元素。viewBox实际上与比例无关,但。。。关于viewBox(应显示的整个文档的可查看矩形)。现在,我能想到的获得屏幕dpi的唯一方法是通过,在这里,您必须为每个可能的分辨率设置不同的
transform:scale()
。。。或者使用js获取并设置它(也可以在svg文件中附加js)