Обычно установка overflow-x: hidden
в теле должна означать, что вся страница никогда не прокручивается.
Но в MacOS Safari и iOS webkit (Safari, Chrome и т. д.), если вложенные элементы flexbox переполняют тело, overflow-x: hidden
не учитывается.
Откройте следующее в Chrome / Firefox, и он отлично работает.
Откройте в Safari или iOS webkit, и он прокрутится.
https://codepen.io/anon/pen/jdPbGN
body {
width: 100vw;
overflow-x: hidden;
margin: 0;
}
.flex {
display: flex;
}
.sidebar {
width: 100%;
height: 200px;
flex: 1 0 auto;
background-color: orange;
}
<body>
<main class="flex">
<aside class="sidebar">
</aside>
<section class="content">
<img src="https://via.placeholder.com/150" />
</section>
</main>
</body>