私は次のコードを持っています:
function c() {
var h = ($(window).height() - $('#maincontainer').outerHeight()) / 2;
var w = ($(window).width() - $('#maincontainer').outerWidth()) / 2;
$('#maincontainer').css('position', 'absolute');
$('#maincontainer').css('top', h);
$('#maincontainer').css('left', w);
}
$(window).resize(c);
$(window).load(c);
このresize
イベントは、試したすべてのブラウザーで正しく機能しますが、load
常に幅の値8pxを返し、maincontainer
画面の左端にdivを配置します。これは、IE8でのみウィンドウの中央にdivを配置して適切に実行され、Chrome22およびFirefox16では失敗します。
編集:うまくいったように見える解決策:
$(window).ready(c);
$(window).load(c);
$(window).resize(c);
また、the body
持っている必要がありwidth: 100%
ます。