vertical quitar que personalizar pero ocultar horizontal funcione desplazamiento bootstrap barra html css

html - quitar - DESACTIVAR el desplazamiento horizontal



quitar scroll horizontal html (7)

Ok, por alguna razón, mi página web se desplaza de izquierda a derecha y muestra un montón de espacio feo.

He buscado resultados pero simplemente hicieron que la barra de desplazamiento OCULTÓ

Eso es lo que quiero, quiero DESHABILITAR físicamente la función de desplazamiento horizontal. ¡No quiero que el usuario pueda desplazarse de izquierda a derecha en mi página solo arriba y abajo!

Lo he intentado: overflow-x:hidden en css en mi etiqueta html pero solo ha ocultado la barra de desplazamiento y no ha desactivado el scroll.

¡Por favor, ayúdame!

Aquí hay un enlace a la página: http://www.green-panda.com/usd309bands/ (Enlace roto)

Esto podría darte una mejor idea de lo que estoy hablando:

Aquí es cuando se carga la primera página:

Y esto es después de que me desplazo hacia la derecha:


Entonces, para arreglar esto correctamente, hice lo que otros hicieron aquí y usé css para ocultar la barra de herramientas horizontal:

.name { max-width: 100%; overflow-x: hidden; }

Luego, en js, creé un detector de eventos para buscar el desplazamiento y contrarresté el desplazamiento horizontal realizado por los usuarios.

var scrollEventHandler = function() { window.scroll(0, window.pageYOffset) } window.addEventListener("scroll", scrollEventHandler, false);

Vi a alguien hacer algo similar, pero aparentemente eso no funcionó. Sin embargo, esto funciona perfectamente bien para mí.


Prueba agregar esto a tu CSS

html, body { max-width: 100%; overflow-x: hidden; }


Pruebe esto para deshabilitar el desplazamiento en ancho solo para el cuerpo. El documento completo es body body{overflow-x: hidden;}


Puede anular el evento de desplazamiento del cuerpo con JavaScript y restablecer el desplazamiento horizontal a 0.

function bindEvent(e, eventName, callback) { if(e.addEventListener) // new browsers e.addEventListener(eventName, callback, false); else if(e.attachEvent) // IE e.attachEvent(''on''+ eventName, callback); }; bindEvent(document.body, ''scroll'', function(e) { document.body.scrollLeft = 0; });

No aconsejo hacer esto porque limita la funcionalidad para usuarios con pantallas pequeñas.


Sé que es demasiado tarde , pero hay un enfoque en javascript que puede ayudarte a detectar que el elemento html de witch está causando el desbordamiento horizontal -> aparece la barra de desplazamiento

Aquí hay un enlace a la publicación sobre CSS Tricks

var docWidth = document.documentElement.offsetWidth; [].forEach.call( document.querySelectorAll(''*''), function(el) { if (el.offsetWidth > docWidth) { console.log(el); } } );

Podría devolver algo como esto:

<div class="div-with-extra-width">...</div>

entonces simplemente eliminas el ancho extra del div o configuras su max-width:100%

¡Espero que esto ayude!

Me arregló el problema:]


este es el niño desagradable de tu código :)

.container, .navbar-static-top .container, .navbar-fixed-top .container, .navbar-fixed-bottom .container { width: 1170px; }

reemplazarlo con

.container, .navbar-static-top .container, .navbar-fixed-top .container, .navbar-fixed-bottom .container { width: 100%; }


koala_dev respondió que esto funcionará:

html, body { max-width: 100%; overflow-x: hidden; }

Y MarkWPiper comenta que ": - / Se produjo un desplazamiento táctil / de impulso para dejar de funcionar en el iPhone".

La solución para mantener el toque / momento en iPhone es agregar esta línea:

height:auto!important;