$(window).width();
でブラウザのウィンドウ幅を取得しようとしました。 IE 10の場合、ブラウザの全幅が返され、スクロールバーが含まれます。ただし、FirefoxとChromeでは、どちらもスクロールバーなしの値が返されます。
スクロールバーと一緒にブラウザーの幅を含めるにはどうすればよいですか?検出された幅がCSSとまったく同じである必要があるためです。
ありがとう。
これにより、ウィンドウの幅全体が取得されます。
_ window.outerWidth
_
注: jQueryのouterWidth()
は$(window)
では機能しません
最初の答えは近いものでしたが、さらに詳しく調べると、少し複雑になります。 body.clientWidth
は、スクロールバーを除いた幅です。 window.outerWidth
は、スクロールバーとウィンドウの境界線などの他のウィンドウ要素を含む幅です。 window.innerWidth
は、スクロールバーを含み、ウィンドウの境界を含まない、ウィンドウの実際の幅です。
window.innerWidth
レスポンシブデザインに必要な場合は正解のようです
window.innerWidth
は、HTMLの幅を示しますandスクロールバー。この値は、CSSでメディアクエリを使用するときにデバイス幅のブレークポイントに使用される値です。基本的に、window.innerWidth
は計算されたCSSユニット100vw
と同じです。ただし、window.outerWidth
はウィンドウ全体の幅を示します。
たとえば、ChromeのDev Toolsをブラウザで開いた場合insideの場合、window.outerWidth
はWebページの幅+スクロールバー+ ChromeのDev Toolsインスペクターになります。 window.innerWidth
は、Webページ+スクロールバーのみの幅を返します。