Heim >Web-Frontend >CSS-Tutorial >Warum funktioniert „transform-origin' bei SVG-Gruppen in Firefox nicht?
Die Transform-Origin-Einstellung in der SVG-Gruppe in Firefox funktioniert nicht
Transform-Origin kann in Firefox nicht wirksam werden (v. 18, nicht auf anderen Versionen getestet) ist ein häufiges Problem. WebKit-Browser funktionieren wie erwartet. Sie haben versucht, den Ursprung als Mittelpunkt der Gruppe festzulegen, aber bisher sind alle Versuche fehlgeschlagen.
Hier ist der relevante Code:
#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>
Lösung
Das Problem liegt an der Art und Weise, wie SVG-Formen gezeichnet werden. Damit Firefox transform-origin korrekt anwendet, muss der Mittelpunkt der ursprünglichen SVG-Form bei den Koordinaten 0, 0 liegen.
<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>
Jetzt können Sie einen CSS-Übergang auf die Gruppe anwenden und dies sollte in Firefox einwandfrei funktionieren.
Das obige ist der detaillierte Inhalt vonWarum funktioniert „transform-origin' bei SVG-Gruppen in Firefox nicht?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!