我可以在网页中使用SVG对象来替代img文件吗?

16 浏览
0 Comments

我可以在网页中使用SVG对象来替代img文件吗?

我有一个网页,上面有一系列的行和列,每一列都有一个图标或图片文件。当触摸图片时,它会改变颜色。我目前是使用JQuery来实现的,通过用新颜色的图片替换旧图片。

我在想是否可以使用SVG对象来实现相同的效果,然后只需更改对象的样式类。

我遇到的问题是让我的SVG对象真正放在表格单元格中的位置。

我的SVG代码:

即使我将其放在< td > 中,这仍然会将对象绘制在页面的中间。

是否有一种像形状一样居中路径的方法?

0
0 Comments

在网页上,我们可以使用标签来显示图片,但是有时候我们可能想要使用SVG对象来代替图片文件。然而,有些人在使用SVG对象时遇到了问题。

根据上述代码,我们可以看出问题可能是因为没有给SVG元素指定大小。由于SVG是可缩放的,所以其大小的设置有些奇怪。我们可以通过给标签添加三个额外的属性来解决这个问题:

- width和height属性用来指定SVG元素在页面上显示的大小。你可以使用CSS来调整它们。

- viewBox属性是非常重要的。它定义了图像的边界,并且可以让你对相对大小进行更多的控制。它的值应该是一个包含4个以空格分隔的值的字符串:x y w h其中x和y表示图像可见部分左上角的坐标,w和h表示可见部分的宽度和高度。这些坐标是相对于你的绘图而言的,并且会按照widthheight定义的显示大小进行缩放。如果你的路径或其他SVG元素的坐标超出了viewBox的范围,它们将被裁剪掉。

为了帮助理解width、height和viewBox之间的关系,我创建了一个示例:fiddle。希望对你有所帮助。

这里有一个使用你的SVG显示需要做的示例:jsfiddle.net/Vy5mh

通过设置正确的大小和viewBox属性,你应该能够在网页上成功使用SVG对象了。

0