Bom dia.
Não consegui encontrar o motivo pelo qual se tento pegar a propriedade left de um botão, através do getBoundingClientRect(), sem estar dentro de um evento scroll ou resize, o posicionamento fica no meio deste botão, mas se pego esta mesma propriedade dentro de um resize ou scroll do window, a posição fica correta.
PS:
- os valores de altura e largura do botão são definidos antes de chamar o método do título;
- não tem margem, nem padding;
- tendo ou não, margem, padding, altura e largura, não há uma mudança nestas medidas do botão ou de qualquer outro elemento quando está dentro de um evento scroll ou resize para quando está fora de um destes eventos;
- dentro dos eventos, o posicionamento é correto, fora, é errado;
- seja a propriedade left ou top, ao estar fora dos dois eventos mencionados, sempre tem um tamanho a mais, ficando mais para a direita ou mais para baixo, quando está fora dos dois eventos;
- tentei dezenas de tentativas e erros a retirar outras medidas das propriedades left e top sem sucesso.