首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >CSS-Sprites + D3.js

CSS-Sprites + D3.js
EN

Stack Overflow用户
提问于 2014-05-30 18:55:10
回答 1查看 626关注 0票数 1

我试图在<circle>中添加HTML元素,然后使用CSS来填充它们,但是到目前为止我还看不到它们!

以下是我所做的:

代码语言:javascript
复制
 //Create the node in order to use the Force Layout
 var node = svg.selectAll(".container")
    .data(data)
    .append("circle")
    .attr("class", "dot")
    .attr("r", radius)
    .attr("cx", function(d) { return x(d[xVar]); }) //xAxis position
    .attr("cy", function(d) { return y(d[yVar]); }) //yAxis position
    .append("xhtml:i")
    .attr('class',  function(d) {
      return 'sprite '+ d['css-code'];
    });

我的css:

代码语言:javascript
复制
.sprite{
    position: absolute; 
    background:url(sprite.png) no-repeat;
}

.ad{background-position:0 -704px;}
.ae{background-position:0 -736px;}
.etc

它们正在生成,我可以在我的浏览器检查器上看到正确的css分布,但是它们不会出现。

我如何使用CSS-雪碧与D3的部队布局?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-05-30 19:02:22

您将<i>元素直接插入到SVG <circle>元素中,这不是合法的SVG标记。至少有几个替代方案可以供您使用。

  • 使节点<g>元素既包含<circle>元素,又包含雪碧的一个不同元素。
  • 将HTML精灵直接插入到图形的HTML容器中,并将它们绝对定位为与节点位置相对应。
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/23961599

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档