jQuery:如何让css('line-height')跨浏览器工作

时间:2013-05-16 20:55:25

标签: javascript jquery css internet-explorer-8 cross-browser

我支持IE8及以上。

$(something).css('line-height');

在Chrome中,这会返回32px,但在IE8中会返回normal

我如何解决这个问题?也许是原生的javascript变体?

2 个答案:

答案 0 :(得分:1)

似乎这是一个webkit与IE的问题。不确定FF,但有几个选项可以解决它。过度指定像素值将起作用。但是我不喜欢这样做,因为如果你使用媒体查询缩放文本等,那么保持比例就更难了。我能够通过明确指定em中的行高(而不是让它继承)来使它工作。与之前设置为rem并且IE8无法识别的相关也是相关的。

答案 1 :(得分:0)

    function lineHeight(element){
       var tmp=$("<div>test</div>");
       element.append(tmp);
       tmp.css({"padding":"0","margin":"0","border":"0"});
       var height = tmp[0].clientHeight;
       tmp.remove();
       return height;
    }        
FF和Chrome中的

jsfiddle返回20px但是在IE8上18px