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 则返回其父级的偏移量。

示例

下面的代码示例演示了OffsetParent如何OffsetRectanglespan1和不同,span2以及span3

<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 中的元素定位的详细信息,请参阅 “关于元素定位”。

适用于

另请参阅