【发布时间】:2012-12-04 14:10:35
【问题描述】:
我想创建一个 CSS 类来用可以应用于任何 SVG 路径的图像填充路径,并用图像填充该路径。图片必须拉伸以适应该路径。
为了实现这一点;我用 image 标签创建了一个图案,并将宽度和高度设置为 100%。但图像占据了 整个屏幕 的 100%,而不是容器的 objectBoundingBox(在本例中为 svg 标签)。
下面是示例代码:
.myClass {
fill: url(#image);
stroke: red;
stroke-width: 5;
}
<svg id='pattern' xmlns="http://www.w3.org/2000/svg" version="1.1">
<defs>
<pattern id='image' x=0 y=0 width="100%" height="100%" patternUnits='objectBoundingBox'>
<image xlink:href='myImage.png' x=0 y=0 width="100%" height="100%" preserveAspectRatio="none"></image>
</pattern>
</defs>
</svg>
<svg id='triangle' xmlns="http://www.w3.org/2000/svg" version="1.1" width='300px' height='300px'>
<path d='M0 0 L300 0 L300 300 Z' class='myClass'></path>
</svg>
可能是我做错了什么。
请针对此问题提出任何解决方案。
【问题讨论】: