Я пытаюсь создать анимацию типа "колесо фортуны". Я использую 4 деления, один поверх другого (с прозрачными PNG) для всего дизайна.
Сейчас я пытаюсь анимировать его с помощью CSS3, но столкнулся с проблемой: когда один из предков #rotate div находится в относительно позиционированном состоянии, процессор переходит на 70% (я использую Macbook Pro 2.3 ГГц) .
В приведенном ниже примере, если я устанавливаю #main в position: absolute, тогда он работает просто отлично, не используя больше процессора, чем обычная страница. Но при переходе в положение: относительное оно переходит на более чем 70% загрузки процессора.
Кто-нибудь знает, как обойти эту проблему?
Вот пример моего кода (для удобства чтения я написал только CSS -webkit, но исходный код имеет соответствующий CSS для каждого основного современного браузера):
<html>
<body>
<style>
@-webkit-keyframes rotate {
from {
-webkit-transform: rotate(0deg);
}
to {
-webkit-transform: rotate(360deg);
}
}
#background {
position: absolute;
background: url("background.png");
width: 604px;
height: 604px;;
}
#bottom {
position: absolute;
background: url("wheel_bg.png");
width: 604px;
height: 604px;;
}
#top {
position: absolute;
background: url("wheel_top.png");
width: 604px;
height: 604px;;
}
#rotate
{
position: absolute;
-webkit-animation-name: rotate;
-webkit-animation-duration: 15s;
-webkit-animation-iteration-count: infinite;
-webkit-animation-timing-function: linear;
background: url("wheel_rotate.png");
width: 604px;
height: 604px;
left: 0;
}
#main {
position: relative; //here's the problem
left: 50px;
top: 50px;
}
</style>
<div id="main">
<div id="background">
</div>
<div id="rotate">
</div>
<div id="top">
</div>
<div id="bottom">
</div>
</div>
</body>
</html>