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

192
Visualizações
¿Cómo puedo hacer que un elemento sea visible en una página solo cuando la altura del contenido html es mayor que la altura de la ventana gráfica?

Tengo esta página que es básicamente una lista de tareas, donde puedes agregar una cantidad infinita de tareas de todo tipo y, por supuesto, si agregas muchas tareas, la altura de la página se hará más grande y la barra de desplazamiento va a aparecer. También tengo este botón fijo en la parte inferior derecha de la página, y su única función es enviarte de vuelta a la parte superior de la página. Lo que me gustaría hacer es configurar la visualización del botón en ninguno solo en caso de que la altura de la página no sea mayor que la altura de la ventana gráfica (por lo que no se puede desplazar), porque sería inútil en este caso, y luego establecer su mostrar para bloquear en caso de que la página haya superado los 100vh.

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

0

No lo he probado, pero estoy bastante seguro de que esto podría hacerse con consultas de @media:

 .topbutton { display: none; } @media screen and (min-height: 100vh) { .topbutton { display: block; } }
about 4 years ago · Juan Pablo Isaza Relatório

0

Una forma sencilla de hacer esto es verificar si el valor de posición de window.scrollY es 0 . De lo contrario, puede suponer que el contenido de la página es más alto que la ventana gráfica y que la página se desplaza, por lo que puede mostrar/ocultar un botón "volver al principio" en consecuencia. Por ejemplo:

JavaScript

 window.addEventListener('scroll', () => { const toTopLink = document.getElementById('toTopLink'); if (window.scrollY > 0) { toTopLink.classList.remove('hidden'); } else { toTopLink.classList.add('hidden'); } });

HTML

 <ul> <li>List Item</li> <li>List Item</li> <li>...</li> </ul> <a id="toTopLink" class="hidden" href="#">Scroll to Top</a>

CSS

 #toTopLink { display: block; position: fixed; /* ... */ } #toTopLink.hidden { display: none; }

Aquí hay un violín que muestra esta solución en acción (tenga en cuenta que deberá cambiar el tamaño de la altura de la ventana en consecuencia para ver el comportamiento de desplazamiento):

https://jsfiddle.net/dwq4h82x/8/


Botón de desplazamiento suave y fundido de entrada/salida

Para un poco de bondad adicional, podría hacer algo como esto en lugar de alternar display: none :

https://jsfiddle.net/6bjhvte4/3/

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