저는 TweenLite를 사용하여 이미지를 3 차원 (원근감)으로 움직이고 있는데, 애니메이션의 일부가 아닌 이미지 위에 텍스트가 있습니다. 하지만 Safari (iOS 및 OsX) 및 Chrome (iOS)에서는 사용자가 "더 가깝습니다"이미지 부분이 텍스트 위에 표시됩니다.Safari에서 3D 변형 이미지 위에 잘린 텍스트를 수정하는 방법은 무엇입니까?
jsFiddle : http://jsfiddle.net/k1afbe3k/6/
HTML :
<div id="container">
<div id="cover">
<img src="http://i.imgur.com/lKBKKyj.jpg" alt="test" />
</div>
<div id="text">
<h1>This is some text</h1>
</div>
</div>
<div id="btn">Animate</div>
CSS :
#container { height: 200px; position: relative; width: 200px; }
#cover { height: 100%; left: 0; position: absolute; top: 0; width: 100%; z-index: 1; }
#cover img { display:block; height: 100%; width: 100%; }
#text { height: 100%; left: 0; position: absolute; top: 0; width: 100%; z-index: 10; -webkit-transform: translate3d(0,0,0); }
#text h1 { color: #fff; text-align: center; }
자바 스크립트 :
TweenLite.set($('#container'), {perspective:1800});
$('#btn').on('click', function(){
TweenLite.to($('#cover'), 0.4, { rotationY: -15 });
});
(내가 TweenLite의 버전 1.14.2을 사용하고 있는데 CSSP lugin)
나는 z-index를 설정하려고했는데, -webkit-transform : translate3d (0,0,0)를 사용하려고 시도했지만 Safari에서 지금까지 아무 것도 작동하지 않았습니다. (Firefox, Chrome (데스크톱 및 Android), Explorer 11 등)에서 완벽하게 작동합니다.
누구든지이 문제를 어떻게 해결할 수 있습니까?
작동 중! 감사! z가 일반적인 Z- 인덱스처럼 작동합니까? z : 50에서는 텍스트의 일부가 여전히 잘리는 것으로 나타 났기 때문에 (그러나 처음에는 정확히 중간에 있지 않았습니다.) 그래서 저는 z의 가치를 높이려고했습니다. 그러나 값이 너무 높으면 #text 요소가 완전히 보이지 않습니다. 나는 텍스트가 더 이상 클리핑되지 않고 여전히 보일 수있는 가치를 발견 할 수 있었지만 정확히 무슨 일이 벌어지고 있는지 이해하려고 노력하고 있습니다. 답장을 보내 주셔서 감사합니다. : D – Gabriel
당신은 'y'축 회전 된 상자 너비의 절반에 해당하는 'z'를 만들 수 있습니다. 'z-index'는 z 축과 관련이 없습니다. 'z-index'는 레이어와 같은 요소의 겹침 순서이며, 'z'는 z 축의 3D 위치 (깊이)와 관련이 있습니다. https://developer.mozilla.org/en-US/docs/Web/Guide/CSS/Using_CSS_transforms를 참조하십시오. –