HtmlElement.OffsetParent 属性
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
获取从中计算 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 中元素定位的详细信息,请参阅 About Element Positioning。