【发布时间】:2012-09-28 17:51:13
【问题描述】:
我发现 Javascript 方法 getClientRects 总是只产生一个只有 1 个元素的数组,例如,即使它被多行 p 调用也是如此。我希望显示 p 的行数与显示的行数一样多,因为它比单行长。 Android WebView 是否支持此方法或存在错误?
【问题讨论】:
标签: javascript android html webview getclientrect
我发现 Javascript 方法 getClientRects 总是只产生一个只有 1 个元素的数组,例如,即使它被多行 p 调用也是如此。我希望显示 p 的行数与显示的行数一样多,因为它比单行长。 Android WebView 是否支持此方法或存在错误?
【问题讨论】:
标签: javascript android html webview getclientrect
<p> 元素是块元素,因此为块返回一个 ClientRect。未列出匿名内联框。所以,返回中的ClientRect 是正确的。
但是,内联元素(例如<span> 或<em>)将为元素被分解的每一行报告一个ClientRect。那是因为这些盒子不是匿名的。
(从W3C CSSOM View Module spec中getClientRects()规范的两行之间读取)
【讨论】:
元素会给出一个框 - 文本的内联框(在元素被分成几行时具有尽可能多的矩形)。单击非常大的 <em> 会给出多个矩形。有 3 个 框,根据 CSS 框模型,<em> 被子 元素分成 4 个伪元素框。这给出了 7 个内联框...