javascript - 绘制 DOM "pseudo"行

标签 javascript jquery html css tooltip

我正在创建一个小的“diff -/offset”显示,我想在文本中的某些地方绘制某种“线”,以可视化发生“diff”的位置。基本上我想从中得到:

enter image description here

这个或类似的东西:

enter image description here

我知道 Canvas 元素,我可以用它画线,但我怎么能把这样的图像放在正确的位置呢?

对于像这样的方法,是否有一个“简单”的 CSS 解决方案?

有什么我可以遵循的最佳做法吗?例如,任何 ToolTip 插件/脚本必须使用类似于指向特定位置的东西。

非常感谢您对此提供的任何帮助提示。我的 jsfiddle 的原始链接: http://jsfiddle.net/bKng6/

最佳答案

我不确定您的应用程序应该执行的预期行为是什么(谈论与最终用户的交互)。您没有提到解决方案将如何跨浏览器。无论如何,如果没有一些 JavaScript 片段,我认为纯 CSS(也包括 CSS3)无法解决这个问题。所以,我想补充 tucuxiFelipeAls's建议。

基本上,关于这条线,在开发过程中要记住一些事情:

  • 有很多解决方案可以划清界线。如前所述,Canvas 是一种选择,但我确信它不是更简单的选择。

  • tucuxi 建议的工作示例是通过 CSS annitations 完成的,什么是不错的选择,比 canvas 更简单,并且可以改进以完成 FelipeAls's 提出的相同设计。 .

  • 如果您预期与最终用户的视觉交互接近 FelipeAls 的建议,默认情况下边框宽度为 2px 的 div,加上右侧和底部边框宽度设置为 0 将解决您的线条疑问。我制作了工作样本 right here .在建议的示例中,我使用 DOM 相对位置来测量正确的行位置。尽管我是使用 jQuery 完成的,但您始终可以在纯 JS 或其他基于 DOM 的库(如 Mootools)中完成此操作。

希望对你有帮助

关于javascript - 绘制 DOM "pseudo"行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10532558/

相关文章:

javascript - Dojo - 按 Enter 提交表单

javascript - jQuery 使用 src 选择 img

响应窗口大小的 jquery 可调整大小的栏

php - jQuery 和 AJAX 加载

html - 为 React 应用程序创建站点范围的模板

html - href 的第二行相对于第一行居中并附加上标

javascript - iFrame 根据框架内的动态内容调整大小

javascript - 如何在 javascript 字符串中插入一个新段落?

javascript - 2 个 bootstrap.css 文件之间存在冲突

jquery - Html5 pushstate vs history.js vs HTML5-History-API