首個(gè)公開(kāi)工作草案:CSS 錨點(diǎn)定位

W3C CSS 工作組發(fā)布?CSS 錨點(diǎn)定位規(guī)范的首個(gè)公開(kāi)工作草案:
CSS Anchor Positioning:
https://www.w3.org/TR/2023/WD-css-anchor-position-1-20230629/
首個(gè)公開(kāi)工作草案為一份技術(shù)規(guī)范首個(gè)公開(kāi)發(fā)布的版本,在此階段需依據(jù)《W3C?專(zhuān)利政策》進(jìn)行相關(guān)專(zhuān)利披露。詳情參見(jiàn): https://www.w3.org/2021/Process-20211102/#first-wd
該規(guī)范定義了“anchor positioning”,允許定位元素(如提示框或彈出腳注)相對(duì)于頁(yè)面其他位置的一或多個(gè)“錨點(diǎn)元素”調(diào)整自身的大小和位置。由于錨點(diǎn)元素在頁(yè)面上可以具有任何大小或位置,因此還定義了一個(gè)靈活的回退方案,從而嘗試一系列規(guī)則,直到找到一個(gè)不會(huì)導(dǎo)致定位元素溢出其包含塊的規(guī)則。
CSS 絕對(duì)定位(absolute positioning)允許作者將元素放置在頁(yè)面的任何位置,而不考慮除其包含塊之外的其他元素的布局。這種靈活性可能非常有用,但也有很大的局限性 —?通常你想要相對(duì)于某些其他元素進(jìn)行定位。錨點(diǎn)定位(通過(guò)錨點(diǎn)函數(shù)?‘a(chǎn)nchor()’ 和 ‘a(chǎn)nchor-size()’)允許作者實(shí)現(xiàn)這一點(diǎn),將絕對(duì)定位的元素“錨定”到頁(yè)面上的一或多個(gè)其他元素,同時(shí)還允許它們嘗試幾種可能的位置來(lái)找到避免重疊或溢出的“最佳”位置。
例如,作者可能希望將提示框放置在目標(biāo)元素的中心和上方,除非這會(huì)將提示框置于屏幕之外,在這種情況下它應(yīng)該位于目標(biāo)元素的下方。這可以通過(guò)下面的 CSS 來(lái)實(shí)現(xiàn):
歡迎參與?GitHub 開(kāi)放討論反饋對(duì)該規(guī)范草案的意見(jiàn)與建議:
https://github.com/w3c/csswg-drafts/issues
進(jìn)一步訪(fǎng)問(wèn) W3C?CSS 工作組主頁(yè):
https://www.w3.org/groups/wg/css/