Подтвердить что ты не робот

Исправленные элементы не доступны для кликов, когда я быстро прокручиваю нижнюю часть в iOS Safari 9+

Я столкнулся с очень раздражающей проблемой только в iOS Safari 9+ (8.4 в порядке), где, как только пользователь быстро прокручивает страницу, в результате чего привязывающие ссылки в фиксированных элементах перестают быть кликабельными из-за внешнего вида и фактического щелчка/область ударов не выстраивается в линию со своим элементом, пока пользователь не прокручивается снова.

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

iOS 9+ Safari Исправлено: запись экрана прокрутки позиции

Обходных решений проблемы пока нет. Как я могу решить эту проблему?

ОБНОВЛЕНИЕ: После дальнейшего тестирования проблема возникает только с iOS Safari 9 и выше, протестированной на iOS 8, и проблем нет.

ОБНОВЛЕНИЕ 2: Теперь ясно, что это происходит на большинстве веб-сайтов с использованием position:fixed; и даже position:-webkit-sticky;. Вы можете проверить свое:)

HTML

<section>
  <article></article>
  <article></article>
  <article></article>
</section>

<div class="sticky">
  <a href=""></a>
</div>

CSS

html, body {
  margin:0;
}

article {
  display: block;
  height: 200px;
  width: 100%;
  margin-bottom: 20px;
  background: whitesmoke;
}

.sticky {
  width:100%;
  height:100px;
  position: fixed;
  bottom:0;
  background: orange;
  text-align:center;

}

.sticky a {
  display: inline-block;
  width: 100px;
  height: 100px;
  background: yellow;
}

http://codepen.io/toobulo/pen/dGEodo

Проблема не возникает в редакторе Codepen, так как это связано с изменениями размеров салона Safari и размерами панели инструментов. Пожалуйста, экспортируйте код на свою страницу или используйте следующую ссылку:

https://cdn.rawgit.com/anonymous/3234ad797dd80e5f8905/raw/ab51c4d8621cfb827f83a33d21940579f8682cde/index.html

4b9b3361

Ответ 1

Эта проблема связана с эффектом bounce в ios и проигрывает панель инструментов и панель заголовка. Единственный способ, который я нашел, чтобы исправить это, - сделать следующее:

html,
body {
  height: 100%;
  width: 100%;
  overflow: auto;
  -webkit-overflow-scrolling: auto
}

Вы можете сделать это и в точке останова, чтобы он работал только на мобильных устройствах. Надеюсь, это поможет.

** Добавлена ​​прокрутка переполнения.

Ответ 2

Вы можете сделать ссылку .sticky абсолютной и применить следующий CSS, чтобы ссылка была независимой от окна/браузера.

.sticky {
  width: 50px;
}
.sticky a {
  position: absolute;
  top: 0;
  bottom: 0;
  margin: auto;
}