#javascript #html #css #css-animations
Вопрос:
Я создаю кнопку сброса для суммирования как часть веб-приложения. когда вы нажимаете на кнопку, она вращает значок сброса. Для этого я использую transform rotate для вращения текстового элемента, но когда я его вращаю, он оказывается ниже, чем когда он начинался. Я понятия не имею, почему это происходит, но поиск ответа в Интернете ни к чему меня не привел. любая помощь будет оценена по достоинству.
ключевые кадры:
@keyframes spin360 {
0% {
transform: rotate(0deg);
}
100% {
transform: rotate(-360deg);
}
}
Я вызываю ключевые кадры в javascript с помощью этой функции:
function spin() {
document.getElementById("resetButtonSvg").style.animation = "spin360 0.5s ease forwards";
}
*обратите внимание, что он называется resetButtonSvg, потому что я планировал использовать SVG, но вместо этого я использовал Юникод.
Комментарии:
1. У вас есть свой вспомогательный HTML-код для этого вопроса?
2.
transform-origin: center;
Я верю, но, если бы у нас был HTML, я бы не стал комментировать без предварительного тестирования, но попробуйте это, и если это не сработает. опубликуйте свой HTML-код.
Ответ №1:
просто измените свой html на что-то вроде этого
<button onclick="spin()">
<?xml version="1.0" encoding="iso-8859-1"?>
<svg version="1.1" id="resetButtonSvg" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
viewBox="0 0 179.019 179.019" style="enable-background:new 0 0 179.019 179.019;" xml:space="preserve">
<g>
<g>
<path style="fill:#010002;" d="M138.121,138.357c-13.02,13.008-30.312,20.174-48.714,20.174c-37.955,0-68.84-30.867-68.876-68.81
l14.046,14.064c0.931,0.925,2.429,0.925,3.359,0c0.919-0.931,0.919-2.434,0-3.359L19.315,81.797L0.698,100.426
c-0.931,0.925-0.931,2.429,0,3.359c0.459,0.465,1.068,0.692,1.671,0.692c0.615,0,1.223-0.233,1.677-0.692l11.826-11.832
c1.235,39.531,33.689,71.328,73.512,71.328c19.673,0,38.164-7.661,52.079-21.57c0.925-0.925,0.925-2.429,0-3.353
C140.562,137.426,139.052,137.426,138.121,138.357z"/>
<path style="fill:#010002;" d="M178.32,75.234c-0.919-0.925-2.423-0.925-3.353,0L163.152,87.06
c-1.247-39.531-33.701-71.322-73.518-71.322c-19.685,0-38.17,7.661-52.085,21.57c-0.931,0.925-0.931,2.429,0,3.353
c0.919,0.931,2.429,0.931,3.353,0c13.014-13.008,30.312-20.174,48.714-20.174c37.949,0,68.84,30.861,68.888,68.81l-14.058-14.064
c-0.925-0.925-2.429-0.925-3.359,0c-0.919,0.931-0.919,2.434,0,3.359l18.623,18.623l18.617-18.623
C179.251,77.668,179.251,76.164,178.32,75.234z"/>
</g>
</g>
</svg>
</button>
а также примените этот css к кнопке и svg
button {
display: flex;
align-items: center;
padding: 10px;
}
svg {
width: 25px;
height: 25px;
}