CSS 锚点定位实战
CSS 锚点定位(Anchor Positioning)让元素可以相对于另一个元素定位,终于不用 JS 计算坐标了。
基础用法
.trigger {
anchor-name: --my-anchor;
}
.tooltip {
position: absolute;
position-anchor: --my-anchor;
top: anchor(bottom);
left: anchor(center);
translate: -50% 8px;
}
<button class="trigger">悬停我</button>
<div class="tooltip">我是提示框</div>
自动翻转
当空间不足时自动翻转方向:
.tooltip {
position-area: top;
position-try-fallbacks: flip-block, flip-inline;
}
实际价值
过去实现 Tooltip、Popover、下拉菜单,必须用 JavaScript 计算位置,处理边界情况极其繁琐。锚点定位把这些交给 CSS,代码量减少 80%。
浏览器支持在 2026 年已覆盖主流环境,是 CSS 又一项改变开发方式的特性。