2

IE8以降をサポートしています。

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

Chromeではこれが返されます32pxが、IE8では返されますnormal

どうすればこれを回避できますか? 多分ネイティブのJavaScriptのバリエーションですか?

4

2 に答える 2

1

これは Webkit と IE の問題のようです。FF についてはよくわかりませんが、修正方法にはいくつかのオプションがあります。あからさまにピクセル値を指定するとうまくいきます。しかし、メディアクエリでテキストなどを拡大縮小すると、物事のバランスを保つのが難しくなるため、私はそれをするのが好きではありません. 行の高さをemsで明示的に指定することで(継承させるのではなく)動作させることができました。remまた、IE8 が認識しない sに以前に設定されていたことも関連しています。

于 2013-05-16T21:04:33.280 に答える
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 を返します

于 2013-05-16T22:10:34.457 に答える