美文网首页
d3之解决svg元素层叠遮盖问题

d3之解决svg元素层叠遮盖问题

作者: 渴望认清自己 | 来源:发表于2019-01-11 18:01 被阅读0次

问题描述:在创建完节点和连接后,动态新建连接时,连接线会覆盖在节点上面。

连线在节点上面.png

观察此时的svg结构,发现新添加的链路的<g link>在<g node>下面。在svg中,dom元素的渲染顺序是后创建的会覆盖新创建的,就是下面的dom元素会覆盖上面的dom元素。

出现问题的svg结构.png

解决方案:svg中添加元素有两种方式。

1.append("g"),添加到选择集的尾巴。

2.insert("g",".node"),添加到第二个参数的元素的前面。

所以此处添加连接的时候需要采用insert的方法,就可以把<g link>添加到<g node>前面,从而使得符合svg的渲染顺序解决这个问题。

insert()添加连接.png

添加成功后的svg结构,就是我们想要的结构。

正确的svg结构.png

相关文章

  • d3之解决svg元素层叠遮盖问题

    问题描述:在创建完节点和连接后,动态新建连接时,连接线会覆盖在节点上面。 观察此时的svg结构,发现新添加的链路的...

  • 简单实现svg的拖拽和缩放

    前提 此方法限制太多,可能svg使用d3绘制,并且抽象出svg中所有元素的一个参照点和缩放比例svg元素不会太多,...

  • SVG 解决层叠关系

    svg 的层叠关系由元素先后定义并加入决定的 如果要调整层叠关系,使用insertBefore并不能起到效果 所以...

  • The Definitive Guide css

    css 和 文档 层叠: css中解决样式冲突的规则,称为层叠 元素: 替换、非替换元素 替换元素: ...

  • Tinking with Joins(D3.js)

    假如你正在使用D3开发一个散点图,需要创建一些SVG circle 元素来展示你的数据。你可能会惊讶的发现D3并不...

  • d3.js v5版本——数据选择与绑定

    1.对于d3想说的 其实d3对于svg的关系就像jquery对于原生js的关系一样。有了d3我们操作svg就会变得...

  • 2018-09-14_D3.js

    Data Visualization with D3 D3: SVG中的jQurey 1. Add Documen...

  • D3 v5 学习笔记-2 SVG

    D3也可以使用Canvas绘图,不过对于SVG的支持更多。所以先从SVG开始。 1.SVG SVG教程-MDN 1...

  • svg z-index 问题(没找到非常有效的答案)

    综述:涉及 svg 的元素似乎对于 z-index 无效。 背景:涉及 svg 元素,使用了 svg 遮罩 cl...

  • SVG基础之内部元素

    说明:SVG概念,元素样式设置等请查看SVG基础 目录 图形元素 文字元素 特殊元素 滤镜元素【需完善】 渐变元素...

网友评论

      本文标题:d3之解决svg元素层叠遮盖问题

      本文链接:https://www.haomeiwen.com/subject/lloxdqtx.html