Material-design-lite: 工具提示的错误定位

创建于 2015-07-08  ·  3评论  ·  资料来源: google/material-design-lite

更多的边缘案例,但仍然发生在我目前正在开发的应用程序中。 仅当存在滚动条并且相关元素通过 CSS 应用了翻译时,才会发生这种情况。

请参阅此处的示例(将鼠标悬停在红色框上)

这样的事情理论上可以解决这个问题(我认为)

let rect = el.getBoundingClientRect();
let left = rect.left + window.pageXOffset;
let top = rect.top + window.pageYOffset;

// now we have a more accurate representation of the current top / left coords
P1 Tooltip

最有用的评论

直到!

根据CSS 规范,观察到的行为是正确的:

对于布局由 CSS 盒模型控制的元素,除了 none 之外的任何转换值都会导致创建堆叠上下文和包含块。 该对象充当固定定位后代的包含块。

我们的工具提示使用position: fixed定位。 这意味着,通过应用变换(即使它是 NOP),您可以移动原点以进行固定定位。

简单的解决方法是将工具提示移动到另一个容器(或body )。

所有3条评论

有趣的错误。 我可以确认它是由于转换而发生的,但我不明白_为什么_。 这应该得到解决,因为随着网络最近对动画的推动,这可能是一件很常见的事情。

直到!

根据CSS 规范,观察到的行为是正确的:

对于布局由 CSS 盒模型控制的元素,除了 none 之外的任何转换值都会导致创建堆叠上下文和包含块。 该对象充当固定定位后代的包含块。

我们的工具提示使用position: fixed定位。 这意味着,通过应用变换(即使它是 NOP),您可以移动原点以进行固定定位。

简单的解决方法是将工具提示移动到另一个容器(或body )。

嗯,很有意思。 至少我们现在知道,如果它再次出现,可以将人们指向这里。 感谢您进行研究@surma!

此页面是否有帮助?
0 / 5 - 0 等级

相关问题

facekapow picture facekapow  ·  5评论

rafaelcorreiapoli picture rafaelcorreiapoli  ·  3评论

dryror picture dryror  ·  5评论

lgg picture lgg  ·  3评论

itisparas picture itisparas  ·  3评论