HTML 錨點全域性屬性
非標準:此特性未標準化。我們不建議在生產環境中使用非標準特性,因為它們瀏覽器支援有限,並且可能會更改或被移除。但是,在沒有標準選項的特定情況下,它們可以是合適的替代方案。
anchor 全域性屬性用於將定位元素與錨點元素關聯起來。該屬性的值是您想將定位元素錨定到的元素的 id 值。然後可以使用 CSS 錨點定位來定位元素。
注意:另外,您也可以透過 CSS 使用 anchor-name 和 position-anchor 屬性將定位元素與錨點元素關聯起來。如果同一個元素同時使用了這兩種錨定技術,CSS 技術將優先於 HTML 技術。
示例
基本的 anchor 屬性用法
以下示例使用 HTML 將定位元素與錨點關聯起來。然後使用 CSS 將定位元素固定在錨點的右側。
HTML
我們建立一個 id 為 example-anchor 的 <div> 元素。這就是我們的錨點元素。然後,我們包含另一個 anchor 屬性設定為 example-anchor 的 <div>。這會將第一個 <div> 指定為第二個 <div> 的錨點,將兩者關聯起來。
我們還在兩個 <div> 元素周圍添加了一些填充文字,使 <body> 更高,以便可以滾動。
html
<p>
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor
incididunt ut labore et dolore magna aliqua. Dui nunc mattis enim ut tellus
elementum sagittis vitae et.
</p>
<div class="anchor" id="example-anchor">⚓︎</div>
<div class="infobox" anchor="example-anchor">
<p>This is an information box.</p>
</div>
<p>
Nisi quis eleifend quam adipiscing vitae proin sagittis nisl rhoncus. In arcu
cursus euismod quis viverra nibh cras pulvinar. Vulputate ut pharetra sit amet
aliquam.
</p>
<p>
Malesuada nunc vel risus commodo viverra maecenas accumsan lacus. Vel elit
scelerisque mauris pellentesque pulvinar pellentesque habitant morbi
tristique. Porta lorem mollis aliquam ut porttitor. Turpis cursus in hac
habitasse platea dictumst quisque. Dolor sit amet consectetur adipiscing elit.
Ornare lectus sit amet est placerat. Nulla aliquet porttitor lacus luctus
accumsan.
</p>
CSS
我們使用 CSS 將 infobox 元素轉換為一個錨點定位元素,並相對於其錨點進行定位。我們將它的
position屬性設定為fixed,將其轉換為定位元素,以便可以相對於錨點的位置進行定位。left屬性設定為一個anchor()函式,值為right。這會將定位元素固定到其錨點,使其左邊緣與錨點的右邊緣對齊。align-self屬性設定為anchor-center。這將使 infobox 在內聯方向上與錨點的中心對齊。margin-left設定為10px,在錨點定位元素與其錨點之間建立了間距。
css
.infobox {
position: fixed;
left: anchor(right);
align-self: anchor-center;
margin-left: 10px;
}
結果
滾動示例以檢視 infobox 如何固定到錨點。當 anchor 屬性得到支援時,infobox 將固定在錨點的右側。如果不支援,infobox 將固定到視口。
規範
此屬性目前不是 HTML 規範的一部分。請閱讀關於在 https://github.com/whatwg/html/pull/9144 中新增 anchor 屬性的討論。
瀏覽器相容性
載入中…
另見
HTMLElement.anchorElement- CSS
anchor-name屬性 - CSS
position-anchor屬性 - CSS anchor positioning 模組