HtmlElement.OffsetRectangle プロパティ

定義

親を基準とした要素の位置を取得します。

public:
 property System::Drawing::Rectangle OffsetRectangle { System::Drawing::Rectangle get(); };
public System.Drawing.Rectangle OffsetRectangle { get; }
member this.OffsetRectangle : System.Drawing.Rectangle
Public ReadOnly Property OffsetRectangle As Rectangle

プロパティ値

要素の x 座標と y 座標の位置、およびその親を基準にした幅とその高さ。

要素の親が相対的または絶対位置にある場合、 OffsetRectangle は親要素のオフセットを返します。 要素自体が親に対して相対的に配置されている場合、 OffsetRectangle はその親からのオフセットを返します。

次のコード例は、OffsetParentOffsetRectanglespan1span2span3の違いを示しています。

<HTML>
    <BODY id="documentBody">

        <DIV id="div1">
            <SPAN id="span1">Placeholder text 1.</SPAN>
        </DIV>

        <DIV id="div2" style="position:relative;top:100px;left:100px;">
            <SPAN id="span2">Placeholder text 2.</SPAN>
        </DIV>

        <DIV id="div3" style="position:absolute;top:200px;left:200px;">
            <DIV id="div4" style="position:relative;top:100px;left:100px;">
                <SPAN id="span3">Placeholder text 3.</SPAN>
            </DIV>
        </DIV>

    </BODY>
</HTML>
private void GetOffsets()
{
    String str = "";
    HtmlDocument doc = webBrowser1.Document;

    foreach (HtmlElement elem in doc.GetElementsByTagName("SPAN"))
    {
        str += "OffsetParent for " + elem.Id + " is " + elem.OffsetParent.Id;
        str += "; OffsetRectangle is " + elem.OffsetRectangle.ToString() + "\n";
    }

    MessageBox.Show(str);
}
Private Sub GetOffsets()
    Dim Str As String = ""
    Dim Doc As HtmlDocument = WebBrowser1.Document

    For Each Elem As HtmlElement In Doc.GetElementsByTagName("SPAN")
        Str &= "OffsetParent for " & Elem.Id & " is " & Elem.OffsetParent.Id
        Str &= "; OffsetRectangle is " & Elem.OffsetRectangle.ToString() & vbCrLf
    Next

    MessageBox.Show(Str)
End Sub

注釈

要素は、次の 3 つの方法のいずれかで HTML ページに配置できます。

  • 既定のフローの配置。

  • 相対位置。要素がその親を基準にして固定量オフセットされます。

  • 絶対位置。要素にドキュメントの左上隅を基準にした固定座標位置が指定されます。

HTML での要素の配置の詳細については、「 要素の配置について」を参照してください。

適用対象

こちらもご覧ください