CSS - anchor()
概要
| 形式 | anchor(<anchor-name>? && <anchor-side>, <length-percentage>) |
|---|---|
| 値の詳細 | <anchor-name> = <dashed-ident> <anchor-side> = top | left | right | bottom | start | end | self-start | self-end | inside | outside | center | <percentage> |
| サポート | https://caniuse.com/mdn-css_types_anchor |
説明
アンカーポジショニングにおいて配置ボックスの top, bottom, left, right を、アンカーのどの位置に隣接させるかを指定します。アンカーポジショニングに関する詳細は「とほほのアンカーポジショニング入門」を参照してください。
例えば次の例では、配置ボックスの top をアンカーの bottom に、配置ボックスの left をアンカーの right に隣接させます。配置ボックスの位置を指定するには他に position-area があります。position-area の方が直感的に指定することができます。
.my-positioned-box {
top: anchor(bottom);
left: anchor(right);
}
- top, bottom, left, right
- アンカーの top, bottom, left, right に隣接させます。
- start, end
- 配置ボックス外部の文字の流れの開始方向、終了方向に隣接させます。縦書き、横書きにより変動します。
- self-start, self-end
- 配置ボックス自身の文字の流れの開始方向、終了方向に隣接させます。縦書き、横書きにより変動します。
- inside, outside
- inside は配置ボックスがアンカーの内側に来るように、配置ボックスの上部をアンカーの上部、下部を下部、右端を右端、左端を左端に隣接させます。outside は配置ボックスがアンカーの外側に来るように、配置ボックスの上部をアンカーの下部、下部を上部、右端を左端、左端を右端に隣接させます。
- center
- 縦軸の中央または横軸の中央に配置します。
- <percentage>
- start から end 方向に対してパーセントで指定した割合の位置に配置します。
使用例
CSS
.my-anchor {
anchor-name: --my-anchor;
position: relative;
top: 20px;
left: 100px;
height: 24px;
line-height: 24px;
width: 120px;
background-color: #339;
color: #fff;
text-align: center;
}
.my-positioned-box {
position-anchor: --my-anchor;
position: absolute;
width: 200px;
height: 30px;
background-color: #eee;
border: 1px solid #ccc;
padding: .2rem;
top: anchor(bottom);
left: anchor(left);
}
HTML
<div class="my-anchor">Anchor</div> <div class="my-positioned-box">Positioned Box</div>
表示
Anchor
Positioned Box
リンク
- https://drafts.csswg.org/css-anchor-position-1/#anchor-pos
- https://developer.mozilla.org/ja/docs/Web/CSS/anchor
Copyright (C) 2024 杜甫々
初版:2024年12月22日、最終更新:2024年12月22日
https://www.tohoho-web.com/css/func/anchor.htm