jbo*_*chi 157 html css svg image background-image
是否可以background-image为SVG <path>元素设置?
例如,如果我设置元素class="wall",CSS样式.wall {fill: red;}可以工作,但.wall{background-image: url(wall.jpg)}不会.wall {background-color: red;}.
rob*_*rtc 247
你可以通过将背景变成一个模式来做到这一点:
<defs>
<pattern id="img1" patternUnits="userSpaceOnUse" width="100" height="100">
<image xlink:href="wall.jpg" x="0" y="0" width="100" height="100" />
</pattern>
</defs>
Run Code Online (Sandbox Code Playgroud)
根据您的图像调整宽度和高度,然后从路径引用它,如下所示:
<path d="M5,50
l0,100 l100,0 l0,-100 l-100,0
M215,100
a50,50 0 1 1 -100,0 50,50 0 1 1 100,0
M265,50
l50,100 l-100,0 l50,-100
z"
fill="url(#img1)" />
Run Code Online (Sandbox Code Playgroud)
The*_*nty 14
"robertc"的答案是svg - 这类似于d3.js路径代码所使用的.我设法通过应用以下内容为d3.js路径创建动态def.
我设法通过将其定义为以下来实现它
chart.append("defs")
.append('pattern')
.attr('id', 'locked2')
.attr('patternUnits', 'userSpaceOnUse')
.attr('width', 4)
.attr('height', 4)
.append("image")
.attr("xlink:href", "locked.png")
.attr('width', 4)
.attr('height', 4);
Run Code Online (Sandbox Code Playgroud)