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 元素位置相對,則會回傳母元素的偏移量。

範例

以下程式碼範例展示了 和 OffsetRectangle 在 和 span3span2 下如何OffsetParentspan1不同:

<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

備註

元素可以以三種方式在 HTML 頁面上定位:

  • 預設的流位。

  • 相對位置,即元素相對於其父元素以固定的偏移量。

  • 絕對定位,即元素相對於文件左上角被賦予固定座標位置。

欲了解更多關於 HTML 中元素定位的資訊,請參閱 「關於元素定位」。

適用於

另請參閱