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

示例

以下代码示例演示 OffsetParentspan3span2OffsetRectanglespan1区别和区别:

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

适用于

另请参阅