이 같은 3D 레이어 내 두 요소를 렌더링에 의해 발생합니다. 해결책은 각각의 계층에서 렌더링하는 것입니다.
이 문제가 발생하는 코드의 단순화 된 버전입니다 :
CSS :
.wrapper {
transform-style: preserve-3d;
perspective: 1000;
}
.rotate {
width: 100px;
height: 100px;
background: grey;
transform: rotateX(45deg);
}
.clipped-element {
width: 30px;
height: 30px;
background: blue;
}
HTML :
<div class="wrapper">
<div class="rotate">
<div class="clipped-element"></div>
</div>
</div>
transform-style
및 perspective
나 '를 사용하여 렌더링 레이어를 만들었습니다. .clipped-element
은이 레이어의 일부이므로 같은 3D 공간에 존재합니다.
클리핑 된 요소를 자체 레이어로 이동하면 자체 3D 공간에 존재하므로 클리핑 문제가 발생하지 않습니다.
CSS :
.wrapper {
width: 200px;
height: 200px;
}
.rotate__wrapper {
width: 100%;
height: 100%;
transform-style: preserve-3d;
perspective: 1000;
}
.rotate {
width: 100px;
height: 100px;
background: grey;
transform: rotateX(45deg);
}
.clipped-element {
width: 30px;
height: 30px;
background: blue;
}
HTML : 나는 an example on CodePen을 만든
<div class="wrapper">
<div class="rotate__wrapper">
<div class="rotate"></div>
</div>
<div class="clipped-element"></div>
</div>
.
이 문제를 방지하는 실제 URL이 있습니까? 관련 코드도 게시 할 수 있습니까? – xec
나는 기회가 생기면 jsFiddle을 조립할 것이다. 전환에 [Transit.js] (http://ricostacruz.com/jquery.transit/)를 사용하고 있지만이 스타일을 수동으로 적용하여 문제의 원인이되는 자바 스크립트가 아닌지 확인했습니다. – will
@will 혹시 이것에 대한 해결책을 찾았습니까? 나는 같은 문제가있다. :/ – kdev