Material-design-lite: Mau posicionamento das dicas de ferramentas

Criado em 8 jul. 2015  ·  3Comentários  ·  Fonte: google/material-design-lite

Mais um caso de ponta, mas ainda assim acontecendo em um aplicativo que estou desenvolvendo atualmente. Este cenário só acontece se uma barra de rolagem estiver presente e o elemento em questão tiver uma tradução aplicada via CSS.

Veja o exemplo aqui (passe o mouse sobre a caixa vermelha)

Algo assim teoricamente corrigiria o problema (eu acho)

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

Comentários muito úteis

TIL!

O comportamento observado está correto de acordo com a especificação CSS :

Para elementos cujo layout é regido pelo modelo de caixa CSS, qualquer valor diferente de none para a transformação resulta na criação de um contexto de empilhamento e um bloco de contenção. O objeto atua como um bloco de contenção para descendentes posicionados fixos.

Nossas dicas de ferramentas são posicionadas usando position: fixed . Isso significa que, ao aplicar uma transformação – mesmo que seja um NOP – você moveu a origem para posicionamento fixo.

A solução fácil é mover a dica de ferramenta para outro contêiner (ou body ).

Todos 3 comentários

Bug interessante. Posso confirmar que está acontecendo devido à transformação, mas não entendo _por que_. Isso deve ser abordado, pois pode ser uma coisa bastante comum sendo feita agora com o recente impulso de animações pela web.

TIL!

O comportamento observado está correto de acordo com a especificação CSS :

Para elementos cujo layout é regido pelo modelo de caixa CSS, qualquer valor diferente de none para a transformação resulta na criação de um contexto de empilhamento e um bloco de contenção. O objeto atua como um bloco de contenção para descendentes posicionados fixos.

Nossas dicas de ferramentas são posicionadas usando position: fixed . Isso significa que, ao aplicar uma transformação – mesmo que seja um NOP – você moveu a origem para posicionamento fixo.

A solução fácil é mover a dica de ferramenta para outro contêiner (ou body ).

Hum, muito interessante. Pelo menos sabemos agora e podemos apontar as pessoas aqui se surgir novamente. Obrigado por fazer a pesquisa @surma!

Esta página foi útil?
0 / 5 - 0 avaliações

Questões relacionadas

samuelcarreira picture samuelcarreira  ·  4Comentários

arturgspb picture arturgspb  ·  3Comentários

itisparas picture itisparas  ·  3Comentários

raffomania picture raffomania  ·  4Comentários

lgg picture lgg  ·  3Comentários