jQueryでmarginとpaddingを含めた値の取得方法

jQueryでmarginとpaddingを含めた値の取得方法
この記事は約3分で読めます。
広告

全ての親要素の値を取得するなら「.height()」でいい。
でも、ちょくちょく「margin」や「padding」、「border」を含めた値が欲しくなる時があります。
いつも忘れてしまうので、これを期に覚えようじゃないかと思いまして書いてゆきます!

この条件で取得していきます!

【HTML】

<div class="object">「.object」</div>

【CSS】

.object {
  width: 200px;
  height: 100px;
  padding: 10px 10px 10px 10px;
  border: 2px solid #000;
  margin: 20px 20px 20px 20px;
}

「.object」

幅と高さを取得

【jQuery】

// 横幅を取得
var width = $(".object").width();
// 高さを取得
var height = $(".object").height();

「padding」を含めた幅と高さを取得

【jQuery】

// 横幅を取得
var width = $(".object").innerWidth();
// 高さを取得
var height = $(".object").innerHeight();

「padding + border」を含めた幅と高さを取得

【jQuery】

// 「padding + border」を含めた横幅を取得
var width = $(".object").outerWidth();
// 「padding + border」を含めた高さを取得
var height = $(".object").outerHeight();

「padding + border + margin」を含めた幅と高さを取得

【jQuery】

// 「padding + border + margin」を含めた横幅を取得
var width = $(".object").outerWidth(true);
// 「padding + border + margin」を含めた高さを取得
var height = $(".object").outerHeight(true);

まとめ

今回は、わかりずらいpadding、margin、borderを含めたサイズの取得でした。
padding + borderの取得した数字がちょっとおかしいけど…。
なぜでしょうか。「box-sizing」かなと思いましたが違うみたいで。
もしわかる方いましたら教えていただけると嬉しいです。

この他に「border」は抜きで「margin + padding」を含めたサイズや、
「margin」だけ含めたサイズの取得は、需要がなさそうなので割愛させていただきました。

エンデ・バタローをフォローする
javascriptjQueryサイト制作

埼玉県北本市に越してきて2年と少しになります。以前は東京都の京王線沿線に、その前は神戸の三宮、さらにその前は名古屋の八事霊園近くに住んでいました。

怖い話が大好きで、ネット怪談、ホラー小説、心霊Youtuber(オウマガドキch、ゾゾゾ)を寝る前のお供にしてます。

フロントエンドエンジニアとして9年目のキャリアを積んでおり、figma、Illustrator、Photoshop、WordPress、HTML、CSS(scss)、JavaScript(jQuery)、PHPなど使って日々仕事をしています。

仕事で検索する手間を省くためフロントエンド技術に関するブログを書いています。

エンデ・バタローをフォローする
広告
初めてのブログ

コメント

タイトルとURLをコピーしました