根据偏移量(以像素为单位)在DIV中查找特定文本

时间:2009-11-12 09:11:52

标签: javascript jquery css image css-position

我想将图像标记插入到文本块中,以便在DIV中将图像缩小100像素。

    <div>
    A lot of text in a text block and a <img tag> somewhere
that is floated left or right and positioned inside the text block
    </div>

因此,上面的标记放在要浮动的文本块中,以便它在DIV中位于100px DOWN。现在,这不能静态完成,它必须在javascript中完成,因为div中的100px可能由不同的文本表示,具体取决于字体渲染问题等。

那么,有没有办法在DIV中找到100px的文本块中的“单词”?也许jQuery?

1 个答案:

答案 0 :(得分:2)

简短回答为no

基本上归结为DOM并没有为你提供一个获取元素像素位置的方法。你可以为某些浏览器做一些黑客攻击,但运气好的解决方案也好运。

如果你无法获得包含div的位置,那么你就不会获得该文本的位置。

暂不考虑no ,如果你想找到一种方法来获得div的像素高度,我会按照类似下面的步骤进行操作。

  1. 从div中获取文本并将其存储在本地var中。
    1. 在文本中每个单词的循环内:
    2. 在单词之前插入div标签。
    3. 获取div标签的像素位置。
    4. 使用它来确定最接近像素pos 100的单词。
  2. 获得最近的位置后,创建一个文档片段以构建div的新内部
  3. 将div的内容替换为文档片段。