Ответ 1
Обновление, 29 мая
Doh! Я так глуп. Ниже, в то время как истина... ish не решает вопрос достаточно хорошо.
Если вы хотите, чтобы конфигурация вращения оставалась такой же, как вы показали, добавьте div между .scroll
и .el
и создайте его таким образом:
{perspective:300px;}
Таким образом, кажется, что вы хотите, чтобы div .pers
переключился с помощью .scroll
или добавил еще один после .scroll
с той же перспективой.
Кроме того, попробуйте переместить perspective: 300px;
на .scroll
. Угол, по-видимому, изменяется как один прокрутка вверх или вниз.
Оригинальный ответ
Ответ на самом деле не так. Нельзя содержать 3D-преобразование внутри контейнера с клиппированием, который здесь делается.
Проблема overflow-y:scroll
ломает свойство стиля преобразования в соответствии с spec. Переполнение-y влияет на вложенный элемент. Если ваша проблема не исчезнет, вам также может понадобиться использовать объявление -WebKit-transform-style: preserve-3d
на .scroll
, хотя я думаю, что в этом случае у iOS уже установлен контекст стекирования (для Firefox это требуется, Webkit, похоже, не подходит).
Одним из решений является удаление вашего overflow:hidden
из body
и overflow-y:scroll
из .scroll
, но я подозреваю, что вы захотите, чтобы это было как небольшая часть страницы/экрана и перемещало блоки изображения внутри он.
Если это так, вам нужно подделать это с помощью преобразований и некоторого умного хакера и использовать прозрачность, чтобы быть частью этого усилия, обратите внимание, что это тоже (как в спецификации выше, прямо под стилем преобразования) вызывает эффект уплощения, когда он не применяется к окончательному node. Скажем, у вас была непрозрачность, отличная от 1 на .el
, вы здесь отлично, а .el
является окончательным node, но если opacity была применена к .scroll
, то такое же сглаживание .el
происходит, как при переполнении.
Не нужно тестировать на iOS, поскольку мне не хватает доступа к устройству.
Примечание. Установка значения переполнения, отличного от видимого для тела, не вызывает этой проблемы для большинства настольных браузеров, поддерживающих 3D-преобразования. Я не знаю о iOS/mobile.