패럴랙스 스크롤링은 웹사이트의 요소들이 서로 다른 속도로 움직이는 것
css perspective 속성을 이용한 패럴랙스 스크롤링
<h1>The perspective Property</h1>
<div class="container">
perspective 0
<div class="item">item2</div>
</div>
<div class="container perspective300">
perspective 300
<div class="item">item1</div>
</div>
<div class="container perspective100">
perspective 100
<div class="item">item1</div>
</div>
<div class="container perspective50">
perspective 50
<div class="item">item1</div>
</div>
.container {
position: relative;
height: 150px;
width: 150px;
margin: 60px;
border: 1px solid blue;
}
.perspective300 {
perspective: 300px;
}
.perspective100 {
perspective: 100px;
}
.perspective50 {
perspective: 50px;
}
.item {
position: absolute;
padding: 50px;
border: 1px solid black;
background: rgba(100, 100, 100, 0.5);
transform-style: preserve-3d;
transform: rotateX(45deg);
}
사용자가 3D 요소를 바라보는 시점을 설정
.container {
position: relative;
height: 150px;
width: 150px;
margin: 60px;
border: 1px solid blue;
}
.perspective300 {
perspective: 300px;
perspective-origin: 50% 50%; // Default
}
.perspective100 {
perspective: 100px;
perspective-origin: 0% 0%; // Top left
}
.perspective50 {
perspective: 50px;
perspective-origin: 100% 100%; // Bottom right
}
.item {
position: absolute;
padding: 50px;
border: 1px solid black;
background: rgba(100, 100, 100, 0.5);
transform-style: preserve-3d;
transform: rotateX(45deg);
}
css perspective 속성을 이용한 패럴랙스 스크롤링
<div class="parallax">
<div class="item1">item1</div>
<div class="item2">item2</div>
<div class="item3">item3</div>
<strong class="title">Parallax Scolling (CSS)</strong>
</div>
.parallax {
height: 100vh;
overflow-x: hidden;
perspective: 1px;
}
.parallax div {
position: absolute;
top: 0;
left: 0;
right: 0;
font-size: 50px;
color: #fff;
}
.parallax .item1 {
background-color: #333;
height: 150rem;
}
.parallax .item2 {
top: 800px;
background-color: aqua;
height: 500px;
transform: translateZ(-2px);
color: red;
}
.parallax .item3 {
top: 900px;
background-color: blueviolet;
height: 500px;
transform: translateZ(-1px);
opacity: 0.7;
}