前提
CSSアンカーポジショニングのposition-anchor
を設定できる要素は、『位置指定された要素』となっています(MDN)。
質問
fixed と absolute によって動作が違うようですが、これはどういった仕様によるものでしょうか。
現象
おそらく、absolute の場合は、親要素をアンカー要素と認識せずに兄弟要素をアンカー要素と認識するようです。
一方で、fixed の場合は、親要素・兄弟要素ともアンカー要素と認識するようです。
コード
html
1<div> 2 001 3 <p> 4 0002 5 </p> 6</div> 7<p> 8 00003 9</p>
css
1div { 2 position: relative; 3 anchor-name: --test; 4 width: 5em 5} 6 7p { 8 position: fixed; 9 position: absolute; 10 position-anchor: --test; 11 position-area: right; 12}
サンプル:
https://jsfiddle.net/Lhankor_Mhy/u9p74zjk/
(devtools で position を切り替えてお試しください)
補足
仕様に沿った回答が望ましいですが、私見でも構いません。
よろしくお願いいたします。
環境情報
Windows 10
Chrome 131
Firefoxではそもそも001と00003が横並びにならず、fixed/absoluteともに同じです。Chromeの問題では?
@kei344
firefox / safari は未対応です。
https://caniuse.com/css-anchor-positioning
To: junerさん
確認不足でした、失礼しました。

回答1件
あなたの回答
tips
プレビュー