Gostaria de desativar completamente a rolagem no HTML body
. Eu tentei as seguintes opções:
overflow: hidden;
(não está funcionando, não desativou a rolagem, apenas ocultou a barra de rolagem)position: fixed;
(funcionou, mas rolou completamente para o topo, o que é inaceitável para este aplicativo específico)
Não consegui encontrar alternativas para essas duas opções, existem mais?
Respostas:
Conjunto
height
eoverflow
:http://jsfiddle.net/q99hvawt/
fonte
CSS CSS funciona bem se a tag body não faz nada que você possa escrever também
Nesse caso, a substituição deve estar na etiqueta corporal, é mais fácil de controlar, mas às vezes causa dores de cabeça.
fonte
scroll
atributo não é válido na<body>
tag. Não está listado como válido em nenhuma especificação que eu possa encontrar. w3schools ; MDN ; QuackitEsta postagem foi útil, mas apenas queria compartilhar uma pequena alternativa que pode ajudar outras pessoas:
Definir em
max-height
vez deheight
também serve. No meu caso, estou desativando a rolagem com base em uma alternância de classe. Definir.someContainer {height: 100%; overflow: hidden;}
quando a altura do contêiner é menor que a da viewport esticaria o contêiner, o que não seria o que você desejaria. Definirmax-height
contas para isso, mas se a altura do contêiner for maior que a da janela de visualização quando o conteúdo for alterado, ainda desabilitará a rolagem.fonte
Para fazer isso, adicione 2 propriedades CSS no
<body>
elementoAtualmente, existem muitos sites de notícias que exigem que os usuários criem uma conta. Normalmente, eles dão acesso total à página por cerca de um segundo e, em seguida, mostram um pop-up e impedem que os usuários rolem para baixo.
fonte