【问题标题】:Should I use d3.js to draw lines between paragraphs of text?我应该使用 d3.js 在文本段落之间画线吗?
【发布时间】:2015-11-07 22:48:32
【问题描述】:

我打算创建一个包含两列文本的系统。当您将鼠标悬停在左侧的某些段落与右侧的某些段落之间,会有一些线条指示它们之间的连接。我应该使用 d3.js 还是为此目的过度使用?

编辑:需要明确的是,左侧的某些段落可能与右侧的段落不对齐,因此中间会有交叉的对角线。

【问题讨论】:

  • CSS 具有转换功能,这为您提供了很大的灵活性。

标签: text d3.js web draw


【解决方案1】:

Krzysztof 是正确的,因为您可能希望在未来考虑更复杂的交互。但是,如果您真的只需要一行,那么 D3.js 绝对是矫枉过正。一些评论者建议使用 CSS 边框,但我不知道这种方法是否满足您的需求。如果您想在段落之间绘制直线,那么这些线可能不会总是严格水平或垂直。更灵活的选择是将绝对定位的<div> 添加到页面中,并根据需要隐藏或显示它。 <div> 可以有一个1px 的高度和一个背景颜色来模拟一条线,并且可以使用平移和旋转来转换它以连接任意两个任意点。

【讨论】:

  • 啊,这就是我要找的,一个带有转换的 div!谢谢。
【解决方案2】:

不,请改用 CSS。如果您提供 HTML 代码,那么我们可以指导您使用 CSS。查看 CSS 边框:http://www.w3schools.com/css/css_border.asp

【讨论】:

  • 如果我需要在左边第 5 段和右边第 2 段之间划一条线怎么办?
【解决方案3】:

这取决于许多因素。如果您只需要 d3.js 用于“画线/箭头”,那么我认为这是矫枉过正(d3.js 比 jquery 大)。这看起来像是一些使用基本工具的简单任务。但是如果这是数据展示,以后可能会比较复杂,当你用d3做其他图表的时候就可以了。

编辑:因为 OP 编辑​​: 以语义的方式看待这个。如果这是数据呈现,那么是,如果这是图形效果,那么不是。

【讨论】:

  • 好吧,在文本是数据的意义上存在数据,但不是我认为隐含的数字数据。所以我想这只是图形。谢谢!
【解决方案4】:

没有。 D3 =“数据驱动文档”。 D3 使用 SVG,将 SVG 添加到页面中只是为了画一条线绝对是大材小用。通常,您应该采用最简单的方法,因此 CSS 边框应该可以完成这项工作

border-bottom: 2px solid red;

例如。

【讨论】:

    猜你喜欢
    • 2016-02-17
    • 1970-01-01
    • 2013-03-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-04-04
    • 2014-11-11
    相关资源
    最近更新 更多