Ok, por algum motivo, minha página rola da esquerda para a direita e mostra muito espaço feio.
Eu procurei por resultados, mas eles apenas fizeram a barra de rolagem ESCONDIDA
Agora é isso que eu quero, quero DESATIVAR fisicamente o recurso de rolagem horizontal. Eu não quero que o usuário possa rolar da esquerda para a direita na minha página apenas para cima e para baixo!
Eu tentei: overflow-x:hidden
em css na minha html
tag, mas apenas ocultou a barra de rolagem e não desativou a rolagem.
Por favor me ajude!
Aqui está um link para a página: http://www.green-panda.com/usd309bands/ (link quebrado)
Isso pode lhe dar uma idéia melhor do que estou falando:
É quando a primeira página é carregada:
E isso é depois que eu rolo para a direita:
Respostas:
Tente adicionar isso ao seu CSS
fonte
este é o filho desagradável do seu código :)
substitua-o por
fonte
Então, para corrigir isso corretamente, fiz o que os outros aqui fizeram e usei o css para ocultar a barra de ferramentas horizontal:
Em js, criei um ouvinte de eventos para procurar rolagem e contrariei a tentativa de rolagem horizontal dos usuários.
Vi alguém fazer algo parecido, mas aparentemente isso não funcionou. No entanto, isso está funcionando perfeitamente bem para mim.
fonte
Eu sei que é tarde demais , mas existe uma abordagem em javascript que pode ajudá-lo a detectar que o elemento html está causando o estouro horizontal -> barra de rolagem para aparecer
Aqui está um link para o post sobre CSS Tricks
Pode retornar algo como isto:
então você apenas remove a largura extra do
div
ou definemax-width:100%
Espero que isto ajude!
Corrigiu o problema para mim:]
fonte
Tente este para desativar a rolagem de largura apenas para o corpo, todo o documento é apenas corpo
body{overflow-x: hidden;}
fonte
koala_dev respondeu que isso vai funcionar:
E o MarkWPiper comenta que ": - / fez com que a rolagem por toque / momento parasse de funcionar no iPhone"
A solução para manter o toque / momento no iPhone é adicionar esta linha dentro do bloco css para html, body:
fonte
A resposta de Koala_dev funcionará, mas caso você esteja se perguntando, esse é o motivo pelo qual ele funciona:
.
fonte
Se você deseja desativar a rolagem horizontal em toda a largura da tela, use este código.
Isso funciona melhor que "100%" porque ignora a largura do pai e usa a janela de exibição.
fonte
Você pode tentar esse método todo em nossa página html.
1ª via
2ª maneira Você pode usar o seguinte na sua tag body CSS:
Isso removerá sua barra de rolagem.
3ª via
5ª via
6ª via
4ª via ..
Agora estou pesquisando mais .. !!!!
fonte
Eu só tive que lidar com isso sozinho. Afinal, achei esse método mais fácil e útil. Basta adicionar
Para o seu pai externo. No meu caso, fica assim:
Você precisa usar,
overflow-x
porque, se usar,overflow
desativa também a rolagem vertical, a saberoverflow-y
Se a rolagem vertical ainda estiver desativada, você poderá ativá-la explicitamente com:
Eu sei que não é uma maneira adequada, porque se tudo estivesse bem configurado, não seria necessário usar esse método rápido e sujo.
fonte
Você aplica o estilo acima ou pode criar uma função em javaScript para resolver esse problema
fonte
Você pode substituir o evento de rolagem do corpo pelo JavaScript e redefinir a rolagem horizontal para 0.
Não aconselho fazer isso porque limita a funcionalidade para usuários com telas pequenas.
fonte