# Ocultar detalhes vai terminar no final dos detalhes ocultos automaticamente

**URL:** https://meta.discourse.org/t/hide-details-going-to-end-of-hidden-details-automatically/344386
**Category:** Bug
**Tags:** hide-details, fixed
**Created:** [26 Dezembro , 2024 10:04 UTC](https://meta.discourse.org/t/hide-details-going-to-end-of-hidden-details-automatically/344386 "2024-12-26T10:04:00Z")
**Posts on this page:** 1
**Showing post:** 17

<div class="post-metadata">

### Author: ![david](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/david/32/157490_2.png) [@david](https://meta.discourse.org/u/david)
#### Post date: [6 Janeiro , 2025 09:37 UTC](https://meta.discourse.org/t/hide-details-going-to-end-of-hidden-details-automatically/344386/17 "2025-01-06T09:37:02Z")

</div>

Isso acontece por causa do [ancoramento de rolagem](https://github.com/WICG/ScrollAnchoring/blob/master/explainer.md) no Chrome e Firefox (em breve no Safari). Esse recurso faz com que os navegadores se ‘ancorem’ a um elemento visível, para que a inserção de conteúdo acima da janela de visualização não cause uma mudança na posição de rolagem.

O Firefox tem um modo de depuração para esse recurso, que pode ser ativado visitando `about:config` e alternando `layout.css.scroll-anchoring.highlight`. Então, sim, podemos ver que normalmente ele se ancora a algo no fluxo de posts:

 ![SCR-20250106-itgo](https://global.discourse-cdn.com/meta/original/4X/f/5/6/f567d0784284ca50a6eb1da29959f369e326c6b9.png)

Mas se você rolar muito para baixo quando a linha do tempo estiver colapsada, a linha do tempo será escolhida como ponto de ancoragem:

 ![SCR-20250106-itiu](https://global.discourse-cdn.com/meta/original/4X/6/6/4/664e09cb92fe634569e5886a3ad0407656febd26.png)

Como @don diz, isso ocorre porque a ordem dos elementos no DOM é diferente da ordem exibida. Parece que o algoritmo de ancoramento de rolagem percorre o DOM em ordem e escolhe o primeiro elemento totalmente visível que consegue encontrar. Portanto, se a linha do tempo colapsada estiver visível, ela sempre será escolhida antes do conteúdo do post.

Mudar a ordem ajudaria, mas eu estaria preocupado com possíveis regressões. Além disso, me pergunto se é nessa ordem por algum motivo (leitores de tela, talvez?)

A correção mais fácil aqui é definir `overflow-anchor: none` na linha do tempo. Assim, ela nunca será escolhida para ancoragem:

> <https://github.com/discourse/discourse/pull/30580>
>
> topic-navigation and topic-map appear in the DOM before the post stream, and are… then rearranged with CSS grid. That means that, if they are entirely within the viewport, and does not have a fixed/sticky position, then they will be chosen as the browser's scroll anchor point.
> 
> We never want these elements to be used as the anchor, so we can set \`overflow-anchor: none\`.
> 
> https://meta.discourse.org/t/344386/16

---

_[View the full topic](https://meta.discourse.org/t/hide-details-going-to-end-of-hidden-details-automatically/344386)._
