加载中...
Floating UI 是一个用于给弹出层、下拉菜单、提示框等浮动元素做智能定位的 JavaScript 库,是老牌库 Popper.js 的继任者。它能自动计算浮层位置,处理边界避让、翻转与跟随滚动等复杂情形。

| 类型 | 定位计算库 |
| 前身 | Popper.js |
| 产物 | 坐标计算 |
| 扩展 | 中间件机制 |
| 平台 | 浏览器、React Native |
Floating UI 是一个专门解决浮动元素定位问题的底层 JavaScript 库,前身是广为使用的 Popper.js,由 Federico Zivolo 等人主导演进而来。所谓浮动元素,指的是工具提示、下拉菜单、弹出框、悬浮卡片等需要相对某个参照元素精确摆放的界面部件。
把一个浮层准确地放在按钮旁边看似简单,实际要应对视口边界、滚动容器、空间不足时翻转方向、被裁剪时移动位置等大量边界情况。Floating UI 把这些计算抽象为可组合的中间件(middleware),开发者按需拼装,便能得到稳健的定位结果。它不生成任何 UI,只负责计算坐标,因而体积小、可移植性强,可在浏览器、React Native 甚至 Canvas 场景使用。
凡是涉及浮层定位的组件都可能用到 Floating UI,例如工具提示、下拉选择、日期选择器、右键菜单、气泡引导等。许多组件库(包括部分无样式组件方案)在底层依赖它来保证浮层在各种布局下都不越界、不遮挡。
问:Floating UI 和 Popper.js 是什么关系?答:Floating UI 是 Popper.js 的正式继任者,由同一批维护者重写,API 更现代、体积更小、适用平台更广,新项目推荐直接使用 Floating UI。
问:它会自带样式或箭头吗?答:不会。它只输出位置坐标和箭头应放置的坐标,具体的 DOM、样式和箭头元素需要开发者自行渲染。

| 类型 | 定位计算库 |
| 前身 | Popper.js |
| 产物 | 坐标计算 |
| 扩展 | 中间件机制 |
| 平台 | 浏览器、React Native |
登录 后参与讨论
暂无讨论,来发表第一条评论吧