1

実行時に「オーバーフロー」プロパティを切り替え、「幅: 100%」を使用している内部要素のサイズ情報を取得する js コードがあります。ここを参照してください: jsFiddle デモ URL

$('#container').css('overflow', 'hidden');
$('#size1').text('Inner element size at runtime: ' + $('#content').width());

私が見つけたのは、実行時に「オーバーフロー」が「自動」から「非表示」に変更されると、IE10 と Firefox が内部要素のサイズを変更することです。ただし、Chrome ではサイズは変更されません。

内部要素のサイズを更新するようにChromeに指示する方法について何か考えはありますか? ありがとう。

4

3 に答える 3

1

要素を再描画するようブラウザに指示する必要があります。ここにいい答えがあるスタックオーバーフローの質問があります:スタイルの変更を伝播するために WebKit に再描画/再描画を強制するにはどうすればよいですか?

$('#container')
    .css('overflow', 'hidden')
    .each(function(){
        this.style.display='none';
        this.offsetHeight; 
        this.style.display='block';
    });

http://jsfiddle.net/XNtjh/

于 2013-06-12T01:40:13.910 に答える
0

これはおそらく、オーバーフローが auto に設定されていたときにスクロールバーによって占有されていたスペースが解放されたためです。

于 2013-06-12T01:25:58.580 に答える