Как избежать горизонтальной прокрутки на мобильной сети с помощью адаптивного веб-дизайна?

У меня есть адаптируемое веб-приложение. Чтобы избежать горизонтальной прокрутки, я написал следующий код CSS:

html {
    overflow-x: hidden; }

Это отлично работает на рабочем столе, но не на мобильном устройстве. Если я покажу приложение на мобильном устройстве, приложение будет адаптироваться отлично. Проблема в том, когда я прокручиваю справа налево. Страница немного перемещается. Я хочу, чтобы страница не перемещалась горизонтально.

Edit:

Страница не прокручивается на всех мобильных устройствах. Я пробовал это на двух устройствах с той же версией Android, и он прокручивается только на одном из устройств.

Ответ 1

Проверьте все прокладки. Если вы добавите дополнение к значению с шириной, установленной на 100%, оно будет выходить за пределы родителя.

Показаны здесь http://jsfiddle.net/wzZ3W/

код

<div id="fillX">
    <div id="childXFill">
    </div>
</div>

#fillX
{
    background:red;
    width:100%;
    opacity:0.5;
}

#childXFill
{
    background:blue;
    width:100%;
    padding:10px;
    opacity:0.5;
}

Также проверьте отрицательные поля слева и справа на элементах, которые охватывают страницу. Например. http://jsfiddle.net/s7zrukj2/2/

Кроме того, используйте CSS Reset.


Если вы не используете overflow: hidden, вы должны, вероятно, установить его и на элемент body. Таким образом

body, html { overflow-x:hidden; }

Хотя тот факт, что что-то переполняется, указывает на ошибку в вашем отзывчивом дизайне, и вы должны попытаться исправить его, чтобы не допустить, чтобы что-то не было видимым для мобильного пользователя.

Ответ 2

Если вы не работаете на мобильных устройствах, вы должны использовать следующий метатег:

<meta name="viewport" content="width=device-width, initial-scale = 1.0, 
maximum-scale=1.0, user-scalable=no" /> 

это установит ширину в ширину устройства.

Ответ 3

Вам нужно убедиться, что ширина родительского контейнера не шире, чем размер мобильного экрана

Лучше всего использовать ширину% для всего и гарантировать, что контент не будет исправлен, и это будет больше, чем размер мобильного экрана

Ответ 4

Вы можете поместить это в свою консоль, чтобы обвести весь блок /div. Затем вы можете найти тот, который находится за пределами вашего контейнера.

[].forEach.call($$("*"),function(a){a.style.outline="1px solid #"+(~~(Math.random()*(1<<24))).toString(16)})

Ответ 5

Установите свой мобильный видоискатель в свой html-заголовок

<meta name="viewport" content="width=device-width, initial-scale = 1.0,maximum-scale=1.0, user-scalable=no" /> 

Убедитесь, что вы скрываете переполнение

  body, html { overflow-x:hidden; }

Ответ 6

Я просто хотел поделиться тем, как я решил свою проблему. Я перепробовал все, включая overflow-x, добавив красную рамку ко всем элементам и т.д. Все еще смог прокрутить вправо.

Во-первых, я начал с удаления контейнеров в "элементе проверки", пока прокрутка вправо была невозможна. Затем просверлили в div, которые были проблемой. Это был скрытый выпадающий элемент div, который отображался в " visible: hidden" и отображался: block; , Я исправил это, поставив "display: none", и теперь все хорошо.

Ответ 7

Проблема с выравниванием меню на моем сайте показывает, пожалуйста, помогите мне, ребята, как решить выравнивание меню. пожалуйста, проверьте проблемный мобильный resposive- https://thegreendigital.com