私はこのようなことをしたいのですが、うまくいきません
window.onresize = center;
function center()
{
var x=window.innerWidth;
x = x/2;
document.getElementById("center_div").style.marginLeft = x;
}
どうすればいいですか?
私はこのようなことをしたいのですが、うまくいきません
window.onresize = center;
function center()
{
var x=window.innerWidth;
x = x/2;
document.getElementById("center_div").style.marginLeft = x;
}
どうすればいいですか?
を追加する必要がありpx
ますElement.style.marginLeft
。番号は受け付けません。有効な CSS プロパティ ( margin-left
) 値である必要があります。10px
または5%
またはauto
; _
document.getElementById("center_div").style.marginLeft = x + 'px';
あなたのコードは問題ありませんが、1 つ欠けています。X変数の後に「px」を付ける必要があります。つまり、次のようにする必要があります。
document.getElementById("center_div").style.marginLeft = x+"px";
そうしないと、ブラウザーはその単位を認識できません。
jsfiddle でサンプルを作成しました。これは実用的な例です。それを試してみてください。http://jsfiddle.net/TLPak/
PS。window.onresize を含めるようにコードを更新しました。(そして、いくつかの改善、DIVの幅が考慮されました。)http://jsfiddle.net/TLPak/1/ クリックイベントまたはウィンドウのサイズ変更イベントでトリガーします。どちらもOKです。それがあなたに役立つことを願っています。
function center() {
var x=window.innerWidth;
x = x/2;
var y = document.getElementById("center_div").offsetWidth;
y = y/2;
document.getElementById("center_div").style.marginLeft = x - y + "px";
}
window.onresize = center;
あなたが探しているのは css プロパティだと思いますmargin: auto
。ランダムな例 (私のものではありません): http://bluerobot.com/web/css/center1.html . さらに、あなたが望むでしょうwidth: 50%
。それはあなたが探しているものですか?お知らせください。必要に応じて回答を変更します。:)