首页 文章

设置svg obeject的宽度和高度[暂停]

提问于
浏览
0

我正在使用svgcanvas,js logoeditor,但我无法设置svg对象的宽度 . 如果你去文件 - >导入图像并选择任何svg图像(检查谷歌crome)你不能看到这样的svg对象的宽度/高度选项;但是如果你导入图像,那么你会看到宽度/高度选项 . 我也需要设置svg的宽度/高度 .

1 回答

  • 0

    It's true that setting height and width will override the default dimensions when you use SVG as an image. But of course it's not that easy:

    如果使用 <img> 嵌入SVG,设置 heightwidth 将使SVG比例在大多数浏览器中可预测,但在Internet Explorer中不可预测 . 使用像 img { width: 100%; height: auto; } 这样的CSS,IE会自动缩放图像区域以保持宽度:高度宽高比不变,但它不会缩放实际图形以匹配图像尺寸的比例 .

    如果你使用 <object><embed><iframe> 来嵌入你的 SVG ,在't change the size of the frame; you'上设置 heightwidth 如果 SVG 太大,只需在 iframe 内获取滚动条 .

    如果您使用内联SVG(即直接在HTML5代码中使用 **** ),那么 <svg> 元素将执行双重任务,定义网页内以及SVG内的图像区域 . 您使用CSS为SVG设置的任何 heightwidth 将覆盖 <svg> 上的 heightwidth 属性 . 因此像svg {width: 100%; height: auto;} 这样的规则将取消您在代码中设置的尺寸和宽高比,并为您提供内联SVG的默认高度 . 如上所述,这将是150px或100vh,具体取决于浏览器 .

    所以忘了 heightwidth . 您实际上并不想设置确切的 heightwidth ,您希望SVG缩放以匹配您在CSS中设置的宽度和/或高度 . 您想要的是为图像设置纵横比,并使绘图比例适合 .

相关问题