viewportとelementのサイズと位置の整理方法
2972 ワード
viewportとelementのサイズと位置の整理方法
⭐️より多くの先端技術と知識ポイントは、購読番号を検索します.
ビューページまたはウィンドウの位置と幅の高さ
ビューの幅を取得
以下の方法はスクロールバーを含む幅の高さであり、IE 8をサポートしていません.
ページのスクロール位置
ページ全体のスクロールの位置を返します.PageYOffset/pageXOffsetはscrolly/scrollXの値と一致しています.前者は後者の別名です.前者はIE 8に対応していないことを推奨します.
標準ブラウザはscreenX/screenYを使用しています.IEではscreenLeft/screenTopを使用しています.
要素の占有空間サイズと位置
get BoundingCient Rect
使用方法
IEはtop right bottom leftの4つの値だけを返します.もしwidth heightが必要なら、計算が必要です.
境界を含まないスクロールバーのサイズを返します. document.documentElementであれば、スクロールバーを含まないビューサイズ を返します. Dcument.bodyであり、混雑モードである場合、スクロールバーを含まないビューサイズ が返される.
clientLeft/clientTop
計算されたCSSスタイルのborder-left-width/border-top-widthの値を返します.フレームの幅です.
offset Width/offset Height
同様に、Offset Width/offset Heightを使用して要素がスクロールバーとフレームのサイズを含むことを取得することができ、この方法は要素自体の幅の高さ+padding+border+スクロールバーを返す.
offset Left/offset Top
最近の祖先位置決め要素(CSS position属性がrelative、absoluteまたはfixedの要素として設定されている)に対する左右のオフセット値
offset Left/offset Topは要素X Y座標値を返します.
要素の位置を計算します.
scrollwidth/scrollHeight
この方法は元素の内容領域の幅の高さ+padding+オーバーフロー内容のサイズを返します.要素がdocument.documentElementであれば、戻ってくるのは、視角スクロール領域幅と視認口幅の大きな である.要素がdocument.bodyであり、混淆モードである場合、戻り値は、視口スクロール領域幅と視口幅の大きな である.
scrollLeft/scrollTop
この方法は元素のスクロールバーの位置を返します.要素がルート要素である場合、window.scrollyの値 に戻る.要素がbodyであり、混雑モードである場合、リターンはwindow.scrollyの値 である.
したがって、ページスクロールの距離の対応に使用できます.
私の購読番号に注目してください.JSに関する技術記事を不定期に押して送ります.技術だけを話して、ゴシップをしません.
⭐️より多くの先端技術と知識ポイントは、購読番号を検索します.
JS
購読ビューページまたはウィンドウの位置と幅の高さ
ビューの幅を取得
以下の方法はスクロールバーを含む幅の高さであり、IE 8をサポートしていません.
window.innerWidth
window.innerHeight
width + padding + border +
は、ツールバーを含む幅の高さを取得することができます.ページのスクロール位置
ページ全体のスクロールの位置を返します.PageYOffset/pageXOffsetはscrolly/scrollXの値と一致しています.前者は後者の別名です.前者はIE 8に対応していないことを推奨します.
window.pageYOffset || document.documentElement.scrollTop || document.body.scrollTop
window.pageXOffset || document.documentElement.scrollLeft || document.body.scrollLeft
ウィンドウはディスプレイの位置にあります.標準ブラウザはscreenX/screenYを使用しています.IEではscreenLeft/screenTopを使用しています.
window.screenLeft || window.screenX
window.screenTop || window.screenY
元素の幾何学サイズと位置要素の占有空間サイズと位置
get BoundingCient Rect
使用方法
getBoundingClientRect()
の戻り値は以下の図を参照してください.IEはtop right bottom leftの4つの値だけを返します.もしwidth heightが必要なら、計算が必要です.
function getBoundingClientRect(elem) {
let rect = elem.getBoundingClientRect()
return {
top: rect.top,
right: rect.right,
bottom: rect.bottom,
left: rect.left,
width: rect.width || rect.right - rect.left,
height: rect.height || rect.bottom - rect.top
}
}
client Width/client Height境界を含まないスクロールバーのサイズを返します.
document.documentElement.clientWidth || document.body.clientWidth
document.documentElement.clientHeight || document.body.clientHeight
clientLeft/clientTop
計算されたCSSスタイルのborder-left-width/border-top-widthの値を返します.フレームの幅です.
offset Width/offset Height
同様に、Offset Width/offset Heightを使用して要素がスクロールバーとフレームのサイズを含むことを取得することができ、この方法は要素自体の幅の高さ+padding+border+スクロールバーを返す.
offset Left/offset Top
最近の祖先位置決め要素(CSS position属性がrelative、absoluteまたはfixedの要素として設定されている)に対する左右のオフセット値
offset Left/offset Topは要素X Y座標値を返します.
要素の位置を計算します.
function getElementPosition(e) {
var x = 0, y = 0;
while (e != null) {
x += e.offsetLeft;
y += e.offsetTop;
e = e.offsetParent; //
}
return {
x: x,
y: y
};
}
要素の内容の幅の高さとスクロール距離scrollwidth/scrollHeight
この方法は元素の内容領域の幅の高さ+padding+オーバーフロー内容のサイズを返します.
document.documentElement.scrollWidth || document.body.scrollWidth
document.documentElement.scrollHeight || document.body.scrollHeight
scrollLeft/scrollTop
この方法は元素のスクロールバーの位置を返します.
したがって、ページスクロールの距離の対応に使用できます.
私の購読番号に注目してください.JSに関する技術記事を不定期に押して送ります.技術だけを話して、ゴシップをしません.