【发布时间】:2015-11-07 22:48:32
【问题描述】:
我打算创建一个包含两列文本的系统。当您将鼠标悬停在左侧的某些段落与右侧的某些段落之间,会有一些线条指示它们之间的连接。我应该使用 d3.js 还是为此目的过度使用?
编辑:需要明确的是,左侧的某些段落可能与右侧的段落不对齐,因此中间会有交叉的对角线。
【问题讨论】:
-
CSS 具有转换功能,这为您提供了很大的灵活性。
我打算创建一个包含两列文本的系统。当您将鼠标悬停在左侧的某些段落与右侧的某些段落之间,会有一些线条指示它们之间的连接。我应该使用 d3.js 还是为此目的过度使用?
编辑:需要明确的是,左侧的某些段落可能与右侧的段落不对齐,因此中间会有交叉的对角线。
【问题讨论】:
Krzysztof 是正确的,因为您可能希望在未来考虑更复杂的交互。但是,如果您真的只需要一行,那么 D3.js 绝对是矫枉过正。一些评论者建议使用 CSS 边框,但我不知道这种方法是否满足您的需求。如果您想在段落之间绘制直线,那么这些线可能不会总是严格水平或垂直。更灵活的选择是将绝对定位的<div> 添加到页面中,并根据需要隐藏或显示它。 <div> 可以有一个1px 的高度和一个背景颜色来模拟一条线,并且可以使用平移和旋转来转换它以连接任意两个任意点。
【讨论】:
不,请改用 CSS。如果您提供 HTML 代码,那么我们可以指导您使用 CSS。查看 CSS 边框:http://www.w3schools.com/css/css_border.asp
【讨论】:
这取决于许多因素。如果您只需要 d3.js 用于“画线/箭头”,那么我认为这是矫枉过正(d3.js 比 jquery 大)。这看起来像是一些使用基本工具的简单任务。但是如果这是数据展示,以后可能会比较复杂,当你用d3做其他图表的时候就可以了。
编辑:因为 OP 编辑: 以语义的方式看待这个。如果这是数据呈现,那么是,如果这是图形效果,那么不是。
【讨论】:
没有。 D3 =“数据驱动文档”。 D3 使用 SVG,将 SVG 添加到页面中只是为了画一条线绝对是大材小用。通常,您应该采用最简单的方法,因此 CSS 边框应该可以完成这项工作
border-bottom: 2px solid red;
例如。
【讨论】: