взгляд на тело, любой способ нарушить сложение контекста? - PullRequest
0 голосов
/ 17 февраля 2020

Если я применил perspective к <body>, есть ли способ переопределить сортировку по глубине, созданную с помощью transform3d?

У меня есть элемент с position: sticky, а затем элемент div, который имеет некоторые дочерним элементам даны переводы (по направлению к зрителю) по оси Z. Эти элементы всегда появляются перед липким элементом. Есть ли способ заменить Z-преобразование?

Перспектива должна быть применена к телу для получения эффектов параллакса при прокрутке.

(минимальный пример здесь , как ни странно это пример, кажется, работает в Chrome, хотя я знаю, что это не должно, не в соответствии с spe c по крайней мере!)

https://codepen.io/ollyskinner/pen/JjdXVam

Редактировать: В соответствии с предложением Paulie_D, фрагмент того же примера

html, body {
  width: 100%;
  height: 100%;
  margin: 0;
  padding: 0;
}

body {
  overflow-x:hidden;
  overflow-y:auto;
  perspective: 100px;
  perspective-origin: left;
}

.wrapper {
  position: relative;
  height: 150vh;
  transform-style: preserve-3d;
}

.el {
  padding: 10px;
}
  
.el.sticky {
  position: sticky;
  top: 0;
  width: 100px;
  height: 50px;
  background: grey;
  z-index: 100;
}

.el.preserve3d {
  background-color: aqua;
  transform-style: preserve-3d;
  width: 300px;
}
  
.el.transformed {
  position: relative;
  width: 200px;
  height: 50vh;
  background-color: rgba(120,120,0,0.5);
  border: 1px solid red;
  transform: translate3d(0,0,10px) rotateY(15deg) scale(0.9);
}
<div class="wrapper">
  <div class="el sticky">sticky element</div>
  <div class="el preserve3d">
    <div class="el transformed">content</div>
  </div>
</div>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...