Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

119
Visualizações
El enlace de anclaje salta más alto de lo necesario en Safari

Tengo varios enlaces de anclaje en mi sitio web y todos funcionan correctamente. Sin embargo, un enlace específico muestra un comportamiento extraño, y solo en Safari (tanto iPhone como MacOS). Se desplaza más alto que la posición real del div anclado, pero no hasta la parte superior del documento, ni un poco más alto, ni hasta la parte superior exacta del elemento anterior, solo un número aleatorio alrededor de 400-500 px.

Mi versión de Safari en Mac - 14.1.2 (16611.3.10.1.6)

Estoy usando este gancho para desplazarme

 useEffect(() => { const anchor = router.asPath.split('#')[1]; if (anchor) { setTimeout(() => { const node = document.getElementById(anchor); const header = document.querySelector('header.sticky'); if (node && header) { window.scrollTo({ top: node.offsetTop - (header as HTMLElement).offsetHeight, }); } }, 100); } }, [router.asPath]);

Ya he probado:

  • registrando los valores de offsetTop (son casi iguales en Safari y Chrome, y la diferencia es mucho mayor)
  • eliminando parte con header.offsetHeight (cambió solo ligeramente, como se esperaba, en la altura del encabezado, pero el problema persiste)
  • comprobando si algunos otros elementos contienen la misma identificación que mi div de destino (no)
  • revisando la ortografía de este ancla (es correcta)
  • convirtiendo el enlace de 'https://mylink#anchor' a 'https://mylink/#anchor' (nada cambió)
  • comprobando si hay alguna diferencia entre esta sección y todas las demás en el sitio web (no, es absolutamente estándar)

Realmente agradecería cualquier ayuda, ya que ahora estoy totalmente despistado con este problema.

about 4 years ago · Juan Pablo Isaza
1 Respostas
Responde à pergunta

0

Por que no

 document.getElementById(anchor).scrollIntoView({behavior: "smooth" })
about 4 years ago · Juan Pablo Isaza Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda