Язык

HtmlElement.OffsetParent Свойство

Определение

Возвращает элемент, из которого OffsetRectangle вычисляется.

public:
 property System::Windows::Forms::HtmlElement ^ OffsetParent { System::Windows::Forms::HtmlElement ^ get(); };
public System.Windows.Forms.HtmlElement OffsetParent { get; }
public System.Windows.Forms.HtmlElement? OffsetParent { get; }
member this.OffsetParent : System.Windows.Forms.HtmlElement
Public ReadOnly Property OffsetParent As HtmlElement

Значение свойства

Элемент, из которого вычисляются смещения.

Если родительский или другой элемент в иерархии элемента использует относительную или абсолютную позицию, OffsetParent будет первым относительно или абсолютно позиционированным элементом, в котором вложен текущий элемент. Если ни один из элементов над текущим элементом абсолютно или относительно расположен, OffsetParent будет BODY тегом документа.

Примеры

В следующем примере кода показано, как OffsetParent и OffsetRectangle отличаться для span1, 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-странице одним из трех способов: размещение потока по умолчанию; относительная позиция, в которой элемент смещается фиксированной суммой относительно родительского элемента; и абсолютное положение, в котором элемент получает фиксированное положение координат относительно верхнего левого угла документа.

Если элементы документа используют относительную или абсолютную позицию, вы можете вычислить OffsetParent координату элемента в клиентской области.

Дополнительные сведения о расположении элементов в HTML см. в разделе "О расположении элементов".

Применяется к

См. также раздел