我一直在關注CSS視差指南Keith Clark's。他的概念,它像這樣:將視角添加到HTML以獲得全局視差 - 純CSS
HTML:
<div class="container」>
<div class="parallax-child」></div>
</div>
CSS:
.container {
width: 100%;
height: 100%;
overflow-x: hidden;
overflow-y: scroll;
perspective: 1px;
perspective-origin: 0 0;
}
.parallax-child {
transform-origin: 0 0;
transform: translateZ(-2px) scale(3);
}
這完美的作品在大多數情況下,例如在我的development website。不過,我需要將這種效果添加到其他網站,我無法控制HTML結構,下面是基本結構樹,並在我可以編輯的位置添加了評論。
<html>
<body>
<div itemscope itemtype="http://schema.org/AutoDealer">
<div id="main-wrap">
<div class="row">
<div class="main twelvecol">
<!-- Editable -->
<div>
<div class="row-block finance parallax__group">
<div class="parallax__layer--back parallax__layer">
<p>Content in here scrolls slower than everything else</p>
</div>
<div class="wrapper">
<div class="container">
<div class="parallax__layer--base parallax__layer">
<p>This is all of the top level content</p>
</div>
</div>
</div>
</div>
</div>
<!-- END Editable -->
</div>
</div>
</div>
</div>
</body>
</html>
我可以添加任何我想要的樣式,只是不能在註釋中聲明的地方編輯HTML結構。
我的問題是,我似乎無法得到視差效應來工作的,如果我把例子container
樣式的視差效果(在這篇文章的頂部)上body
視差效果的作品...
從我讀過的內容中,我需要將transform-style: preserve-3d;
樣式添加到container
和孩子之間的元素上,但是這似乎不起作用。
任何人都知道發生了什麼問題?
編輯:
在體工作CSS的Codepen。
Codepen的非工作CSS的HTML。
編輯: 由於固定位置和檢測機構滾動更復雜(似乎不可能),我真的需要通過使用HTML元素來實現這個工作。
奇怪的是,這是有點作品。 Follow this link並單擊並拖動左/右滑塊,視差效果是有的,只是沒有當你向下滾動網頁...
也不太清楚爲什麼當你向下滾動這個效果不工作...
爲什麼要將它更改爲HTML而不是正文? – nitobuendia
讓它在身體上停止顯示頁腳,因爲它位於身體下方。 –