HtmlElement.OffsetParent Свойство
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Получает элемент, из которого вычисляется OffsetRectangle.
public:
property System::Windows::Forms::HtmlElement ^ OffsetParent { System::Windows::Forms::HtmlElement ^ 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 см. в разделе "Сведения о расположении элементов".