2

我想将图像标签插入到文本块中,以便图像在 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?

4

1 回答 1

2

简短的回答是否定的

基本上它归结为 DOM 并没有为您提供获取元素像素位置的方法。您可以对某些浏览器进行一些黑客攻击,但祝您好运,让解决方案正常工作。

如果您无法获得包含 div 的位置,您将无法获得其中文本的位置。

撇开no不谈,如果你想找到一种方法来获取 div 的像素高度,我会遵循类似于以下的过程。

  1. 从 div 中获取文本并将其存储在本地变量中。
    1. 在文本中每个单词的循环内:
    2. 在单词之前插入一个 div 标签。
    3. 获取 div 标签的像素位置。
    4. 使用它来确定最接近像素 pos 100 down 的单词。
  2. 一旦你有了最近的位置,创建一个文档片段来为 div 构建你的新内部
  3. 用文档片段替换 div 的内容。
于 2009-11-12T09:30:07.543 回答