如何在网页中的元素中获取文本的字体大小

时间:2011-08-25 12:18:08

标签: javascript css

编辑: 问题似乎是字体大小没有明确设置,只能由css类设置。所以style.fontSize总是返回一个空字符串

如果还有其他方法可以返回字体大小?

var allMainFrameElems = parent.main.document.getElementsByTagName('*');

for (i=0; i < allMainFrameElems.length; i++){
                if(allMainFrameElems[i].style.fontSize != null){
                        alert(llMainFrameElems[i].style.fontSize);
                }
}

2 个答案:

答案 0 :(得分:1)

如果未在元素上明确设置fontSize样式(例如<p style="font-size:12pt;">...</p>),您将无法从任何地方获取该样式。字体大小通常在CSS类中设置,这些类无法从元素的属性中访问,并且元素没有任何与字体大小相关的属性。

答案 1 :(得分:0)

为了甚至接近这样做,你需要做一些技巧,并且无法准确地确定字体大小。基本上,你必须对每个元素(不好)操纵页面才能确定这一点。

请参阅此小提琴页面,特别是我很快就将pixelPerEm功能放在一起。 http://jsfiddle.net/MarkSchultheiss/vc8Zy/

目前不是很干净,如果我有时间,我可能会尝试让它变得更好,但它可能会给你一些东西,即使它不是很漂亮。

编辑:基本解释是利用em css,注入具有已知设置的元素,计算注入时的像素偏移量,然后移除注入的元素。这些都不是很好,所有这些都是错误/容易出错或有可能出问题。