您如何定位核心叠加项目?
How do you position a core-overlay item?
核心覆盖的 documentation 有一些不足之处。理想情况下,我想使用一个 core-overlay,它将自己定位在屏幕上 而不是 水平和垂直居中,而更像是一个下拉菜单。
由于对菜单本身的点击事件处理有其他限制,我没有使用 core-dropdown-menu(它需要保持打开状态并有一个可调整大小的菜单 div)。
可以通过在运行时调整其 CSS 来定位叠加层。
overlay.style.position = 'absolute';
overlay.style.top = (input.offsetTop + input.clientHeight) + 'px';
overlay.style.width = input.offsetWidth + 'px';
overlay.open();
变量overlay
指向一个覆盖元素。变量 input
将指向应在其下方显示叠加层的元素。
这种方法在 Polymer 0.5 中对我很有效,但它也适用于 Polymer 1.x。请注意,Polymer 1.x 中本身没有叠加组件。相反,应该创建一个具有行为 Polymer.IronOverlayBehavior
.
的单独元素
核心覆盖的 documentation 有一些不足之处。理想情况下,我想使用一个 core-overlay,它将自己定位在屏幕上 而不是 水平和垂直居中,而更像是一个下拉菜单。
由于对菜单本身的点击事件处理有其他限制,我没有使用 core-dropdown-menu(它需要保持打开状态并有一个可调整大小的菜单 div)。
可以通过在运行时调整其 CSS 来定位叠加层。
overlay.style.position = 'absolute';
overlay.style.top = (input.offsetTop + input.clientHeight) + 'px';
overlay.style.width = input.offsetWidth + 'px';
overlay.open();
变量overlay
指向一个覆盖元素。变量 input
将指向应在其下方显示叠加层的元素。
这种方法在 Polymer 0.5 中对我很有效,但它也适用于 Polymer 1.x。请注意,Polymer 1.x 中本身没有叠加组件。相反,应该创建一个具有行为 Polymer.IronOverlayBehavior
.