JavaScript ではラベル要素の位置を制御できます。たとえば、プロンプトメッセージがマウスの位置に合わせて移動します。
この章では、その取得方法を見てみましょう。要素の座標とその位置を計算します。
CSS ボックス モデルは以下のように描画されます。
詳細、CSS ボックス モデルの説明を表示できます。https://www.w3.org/TR/CSS22/ボックス モデルの構成を学習することは、他の知識ポイントの基礎となります。
デモには次のボックスを使用します:
<div id="example"> ## Introduction The contents. </div>
ボックスは、境界線、内側の境界線、外側の境界線、およびスクロール バーを使用して絶対に配置されます:
#example { position: absolute; width: 300px; height: 200px; left: 160px; top: 160px; padding: 20px; margin: 20px; overflow: auto; border: 25px solid #F0E68C;}
CSS 画像:
CSS の幅/高さ
コンテンツ領域のサイズは以下の範囲内ですCSS プロパティを設定するには element.style を使用し、()/currentStyle を取得するには getComputedStyle を使用します。詳細については、後の記事を参照してください。
次に、width とその他のプロパティについて学びます。 height.
clientWidth/Height
クライアント領域のサイズ: パディングを含むコンテンツ領域のサイズ。ただし、スクロール バーは含まれません。
サイズは次のように計算されます。
clientWidth = 300(幅) + 40(パディング) - 16(スクロールバー) = 324clientHeight = 200(高さ) + 40(パディング) = 240
パディング、ボックスはスクロール可能で、clientWidth/Height はコンテンツの領域サイズを表示します。
上の図では、CSS の幅にはスクロール バーが含まれるため、それに基づいて計算することはできません。 clientWidth は有効なコンテンツ領域です。
次のコードは要素の垂直サイズを変更し、すべてを表示します。 content
element.style.height = element.scrollHeight+ 'px'
次の図は、垂直スクロール ボックスのscrollHeightとscrollTopを示しています。
scrollLeft/ scrollTop は書き込み可能です
他の属性とは異なり、scrollLeft/scrollTop はすべて読み取り可能です。Scroll.
標準モードでは、ドキュメントのスクロールは document.documentElement の下にあります。 .
外側のフレーム ボックスは次のようになります。
言い換えると、ピクセル単位での上部/左のサイズです。
2 つの特殊な状況:
offsetParent 、 offsetLeft/Top
offsetParent ルール:
静的配置: 最も近い表のセルまたは BODY (標準モード)
JavaScript の座標とサイズの設定は、要素の接続と表示のみを目的としています
値が 0、display:none、または DOM の外にある要素。offsetParent が null です。
要素が非表示の場合は、次のメソッドを使用して確認できます:
関数isHidden(elem)
return !elem.offsetWidth && !elem.offsetHeight
}
親要素がdisplay:noneの場合、実行
TR 要素は正常に実行されますが、一部のブラウザでは TR にバグが発生しますが、他の要素は通常チェックされるため、通常どおり使用してください。 >
要素が可視性:非表示または画面外に配置されている場合、このチェックは無効になります。概要:
clientWidth/clientHeight - 境界内の領域。クライアント領域にはパディングが含まれますが、スクロール領域は含まれません。 > clientLeft/clientTop - 左/上のサイズ、つまり、document.body が移動される可能性があるため、IE にも同じことが当てはまります。 >
WeChat 公開アカウント: bianchengderen、QQ グループ: 186659233
に属します。転載時の対応リンク: http://www.wutongwei.com/front/infor_showone.tweb ?id=232、皆さんも拡散、共有を歓迎します。