私は現在、ブートストラップを使用しており、テキストを縦と横の両方にセンタリングする必要があります。私は絶対位置にテキストコンテナのCSSを設定し、いくつかのJavascriptを書いた後、上からのピクセルを計算し、正確にセンタリングされるようにdivのために残さ:JSが直接<body>の下に直接連結され、直接的に</body>の上にある場合にのみ、divの垂直方向のセンタリングが機能しますか?
$(document).ready(function() {
$(window).resize();
});
$(window).resize(function() {
$('#text-container-container').css({
height:($(window).height()),
});
$('#text-container').css({
position: 'absolute',
left: ($(window).width() - $('#text-container').outerWidth())/2,
top: ($(window).height() - $('#text-container').outerHeight())/2,
});
});
HTML:
<div class="outer-container" id="text-container-container">
<div class="container">
<nav class="navbar navbar-default" role="navigation">
<!--navigation stuff here-->
</nav>
<div id="text-container">
<h1>text</h1>
</div>
</div>
</div>
何らかの理由で、ページをロードすると、テキストが正しくに整列されますが、正しく水平に整列されません。ブラウザウィンドウのサイズを変更した場合にのみ、テキストが正しい位置(水平と垂直の両方)に表示されます。
私は現在、閉じているbodyタグの直前にJavascriptへのリンクを持っているので混乱していますが、bodyタグの直下にある同じJSファイルに2番目のリンクを追加すると、最初の試み。
何が起こっているのか知っていますか?ページが最初に読み込まれたときに、水平方向と垂直方向の両方に正しく配置されるようにするにはどうすればよいですか?
は、あなたが同様にあなたのHTMLコードを表示してくださいすることができませんでしたか? – ZombieChowder
@ ZombieChowder更新しました。 – gridproquo
$(document).ready - DOMの準備は、$(ウィンドウ).on( "ロード" ...と同じではありません...:https://learn.jquery.com/using-jquery-core/document-ready/あなたがいくつかのイメージや重量のあるコンテンツを持っているなら、計算のために、ページが完全にロードされるまで待たなければならない...だから、$(window).on ( "load"、function(){$(window).resize();}) – sinisake