Я даже не знаю, как объяснить это словами, так вот изображение с аннотациями:IOS Safari не уважая Z-индекс
Слева IOS Simulator, справа есть Сафари. Существует материальный пользовательский интерфейс AppBar с более низким индексом z. Это структура:
Я полностью тупик. В каждом браузере это работает отлично.
Codepen здесь, то есть тот же вопрос: http://codepen.io/ffxsam/pen/NxwZQv
Не проводка всего кода здесь, так как есть тонна Lorem Ipsum. Но StackOverflow требует чего-то, так вот CSS:
body {
margin: 0;
}
.app-bar {
color: #fff;
min-height: 64px;
background: #999;
position: relative;
}
.big {
font-size: 2em;
}
.viewport {
padding: 1em;
font-size: 18px;
position: absolute;
border: 2px solid blue;
top: 64px;
left: 0;
right: 0;
bottom: 0;
overflow-y: scroll;
-webkit-overflow-scrolling: touch;
}
.overlay {
display: none;
position: fixed;
top: 0;
left: 0;
bottom: 0;
right: 0;
background: #fff;
padding: 1em;
z-index: 9000;
}
Похоже, если наложение ДИВ является дочерним контента, который вы хотите наложить, все г-индекс в мире не заставит его работать. Это должно быть вне всего остального в иерархии DOM. Хотя в React это может быть сложно, потому что вы хотите, чтобы наложение получило доступ к определенным реквизитам, а перемещение его из контейнера имеет последствия для передачи данных.
Есть некоторые проблемы с позиции фиксированной на мобильном телефоне, так что вам лучше держаться подальше от его использования. –
Даже если я переключу все, что «исправлено» на 'absolute', проблема все еще сохраняется. – ffxsam
http://codepen.io/pen/ возможно? –