Tooltip
鼠标悬停或键盘聚焦按钮时显示简短提示。
CSS DEVELOPMENT LAB · 16
Tooltip、Dropdown、Context Menu 的共同难点不是“显示出来”, 而是“应该相对谁定位、如何跟随触发元素、如何避免坐标计算越来越复杂”。 本实验先掌握传统可靠方案,再了解 Anchor Positioning 的渐进增强思路。
TRADITIONAL PATTERN
对大多数简单 Tooltip / Dropdown,最稳定的方案仍然是: 触发器外层建立定位上下文,浮层使用绝对定位。
鼠标悬停或键盘聚焦按钮时显示简短提示。
点击按钮后显示操作菜单,定位仍然由 CSS 完成。
按钮靠右时,菜单可以通过 right: 0 与触发器右边缘对齐。
Tooltip 箭头可以直接使用伪元素,不需要额外图片。
PROGRESSIVE ENHANCEMENT
传统方案依赖“浮层必须位于定位父级内部”。Anchor Positioning 的思路是: 先给触发元素定义锚点,再让浮层直接引用这个锚点进行定位。
这一章不把它作为唯一方案,而是作为现代 CSS 的增强能力: 支持时使用,不支持时仍保留传统定位结构。
HOW TO CHOOSE
COMMON PITFALLS
absolute 会相对最近的定位祖先,而不是自动相对按钮。
浮层虽然位置正确,但祖先 overflow:hidden 可能把它直接裁掉。
可能是新的 stacking context 在影响层级,而不是数字不够大。
Tooltip 可以是辅助信息,但关键操作不能只依赖 hover 才出现。