0

私はこのようなことをしたいのですが、うまくいきません

 window.onresize = center;

 function center() 
 {
      var x=window.innerWidth;
      x = x/2;
      document.getElementById("center_div").style.marginLeft = x;
 }

どうすればいいですか?

4

3 に答える 3

1

を追加する必要がありpxますElement.style.marginLeft。番号は受け付けません。有効な CSS プロパティ ( margin-left) 値である必要があります。10pxまたは5%またはauto; _

document.getElementById("center_div").style.marginLeft = x + 'px';
于 2013-04-10T01:12:14.187 に答える
1

あなたのコードは問題ありませんが、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;
于 2013-04-10T01:32:06.233 に答える
0

あなたが探しているのは css プロパティだと思いますmargin: auto。ランダムな例 (私のものではありません): http://bluerobot.com/web/css/center1.html . さらに、あなたが望むでしょうwidth: 50%。それはあなたが探しているものですか?お知らせください。必要に応じて回答を変更します。:)

于 2013-04-10T01:12:45.020 に答える