HTML要素の実際の幅と高さを取得するにはどうすればよいですか?
ブラウザの表示(ビューポート)で中央に配置したい<div>
があるとします。そのためには、<div>
の要素の幅と高さを計算する必要があります。
どのようにすればよいでしょうか?また、ブラウザの互換性についても教えてください。
824
3
ブラウザの表示(ビューポート)で中央に配置したい<div>
があるとします。そのためには、<div>
の要素の幅と高さを計算する必要があります。
どのようにすればよいでしょうか?また、ブラウザの互換性についても教えてください。
.offsetWidth
と
.offsetHeightプロパティを使用する必要があります。 これらは
.style` ではなく、要素に属していることに注意してください。var width = document.getElementById('foo').offsetWidth;
*注)*******************。この回答は2008年に書かれたものです。当時、多くの人にとって最良のクロスブラウザソリューションは、本当にjQueryを使用することでした。もしあなたがjQueryを使用しているのであれば、この回答は良い方法です。もしあなたが他のフレームワークや純粋なJavaScriptを使用しているのであれば、おそらく受け入れられた答えが良いでしょう。
jQuery 1.2.6では、コアとなるCSS関数のうち、
height
とwidth
(または、適宜outerHeight
とouterWidth
)を使用することができます。element.offsetWidthとelement.offsetHeightは、前の投稿で提案されたように、実行する必要があります。
しかし、単にコンテンツを中央に配置したい場合は、もっと良い方法があります。xhtml strict DOCTYPEを使用していると仮定して、bodyタグにmargin:0,autoプロパティと必要な幅(px)を設定します。すると、コンテンツがページの中央に配置されます。