Firefox에서 SVG 그룹의 변환 원본 설정이 작동하지 않습니다.
Firefox에서 변환 원본을 적용할 수 없습니다(v. 18, 다른 버전에서는 테스트되지 않음)은 일반적인 문제입니다. WebKit 브라우저는 예상대로 작동합니다. 원점을 그룹의 중심으로 설정하려고 시도했지만 지금까지 모든 시도가 실패했습니다.
관련 코드는 다음과 같습니다.
#test { -webkit-transform-origin: 50% 50%; transform-origin: center center; -webkit-animation: prop 2s infinite; animation: prop 2s infinite; } @-webkit-keyframes prop { 0% { -webkit-transform: scale(1, 1); } 20% { -webkit-transform: scale(1, .8); } 40% { -webkit-transform: scale(1, .6); } 50% { -webkit-transform: scale(1, .4); } 60% { -webkit-transform: scale(1, .2); } 70% { -webkit-transform: scale(1, .4); } 80% { -webkit-transform: scale(1, .6); } 90% { -webkit-transform: scale(1, .8); } 100% { -webkit-transform: scale(1, 1); } } @keyframes prop { 0% { transform: matrix(1, 0, 0, 1, 0, 0); } 20% { transform: matrix(1, 0, 0, .8, 0, 0); } 40% { transform: matrix(1, 0, 0, .6, 0, 0); } 50% { transform: matrix(1, 0, 0, .4, 0, 0); } 60% { transform: matrix(1, 0, 0, .2, 0, 0); } 70% { transform: matrix(1, 0, 0, .4, 0, 0); } 80% { transform: matrix(1, 0, 0, .6, 0, 0); } 90% { transform: matrix(1, 0, 0, .8, 0, 0); } 100% { transform: matrix(1, 0, 0, 1, 0, 0); } }
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="128px" height="128px" viewBox="0 0 16 16"> <g>
해결책
문제는 SVG 모양이 그려지는 방식에 있습니다. Firefox가 변환 원본을 올바르게 적용하려면 원본 SVG 모양의 중심이 좌표 0, 0에 있어야 합니다.
<svg x="0px" y="0px" width="400px" height="400px" viewBox="0 0 400 400"> <rect>
<svg x="0px" y="0px" width="400px" height="400px" viewBox="0 0 400 400"> <g transform="translate(150, 100)"> <rect>
이제 그룹에 CSS 전환을 적용할 수 있으며 Firefox에서는 제대로 작동합니다.
위 내용은 Firefox의 SVG 그룹에서 `transform-origin`이 작동하지 않는 이유는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!