2016-11-28 75 views
0

如何旋转角度的div?

document.getElementById("btn").addEventListener("click",function(){ 
 
    document.getElementById("dieo").classList.add("roll"); 
 
});
#die{ 
 
    width: 100%; 
 
    height: 120px; 
 
    /*background-color: yellowgreen;*/ 
 
    float: left; 
 
} 
 

 
#dieo{ 
 
    background-color: #fff; 
 
    border: 1px solid #000; 
 
    transform: rotate(45deg); 
 
    width: 60px; 
 
    height: 60px; 
 
    color: #000; 
 
    margin-left: auto ! important; 
 
    margin-right: auto ! important; 
 
    border-radius: 8px; 
 
    margin-top: 27px; 
 
} 
 
#d61{ 
 
    margin-left: 5px; 
 
    margin-top: 5px; 
 
} 
 
#d62{ 
 
    margin-left: -14px; 
 
    margin-top: 41px; 
 
} 
 
#d63{ 
 
    margin-left: 23px; 
 
    margin-top: 5px; 
 
} 
 
#d64{ 
 
    margin-left: 22px; 
 
    margin-top: 22px; 
 
} 
 
#d65{ 
 
    margin-left: 24px; 
 
    margin-top: -50px; 
 
} 
 
#d66{ 
 
    margin-left: 24px; 
 
    margin-top: -14px; 
 
} 
 
.dot{ 
 
    width: 14px; 
 
    height: 14px; 
 
    background-color: #000; 
 
    border-radius: 50%; 
 
    float: left; 
 
} 
 
.roll{ 
 
    animation: roll 0.3s linear 10; 
 
} 
 
@keyframes roll{ 
 
    0%{ 
 
     transform: rotateX(45deg); 
 
     transform: rotateY(30deg); 
 
    } 
 
    25%{ 
 
     transform: rotateX(45deg); 
 
     transform: rotateY(60deg); 
 
} 
 
    50%{ 
 
     transform: rotateX(45deg); 
 
     transform: rotateY(90deg); 
 
    } 
 
    75%{ 
 
     transform: rotateX(45deg); 
 
     transform: rotateY(60deg); 
 
    } 
 
    100%{ 
 
     transform: rotateX(45deg); 
 
     transform: rotateY(30deg); 
 
    } 
 
}
<div id="die"> 
 
    <div id="dieo"> 
 
     <div id="d6"> 
 
      <div id="d61" class="dot"></div> 
 
      <div id="d62" class="dot"></div> 
 
      <div id="d63" class="dot"></div> 
 
      <div id="d64" class="dot"></div> 
 
      <div id="d65" class="dot"></div> 
 
      <div id="d66" class="dot"></div> 
 
     </div> 
 
    </div> 
 
</div> 
 
<button type="button" id="btn"> ROLL </button>

在上面的代码中,我试图以纺成格“死”。可是,当我点击按钮的股利损失它的角度。 是否有可能旋转死亡而不失去角度? 我也试过rotate3d()但它也不适合我。任何帮助将得到赞赏......!

+0

你为什么不把其中动画是怎么回事整个容器? '#die {0}转换:旋转(45deg); }' – Alex

回答

1

只是一个小小的更正。改变你的JS ID死亡。 LiveFiddle 我在小提琴上添加了我自己的jQuery。

document.getElementById("btn").addEventListener("click",function(){ 
 
    document.getElementById("die").classList.add("roll"); 
 
});
#die{ 
 
    width: 100%; 
 
    height: 120px; 
 
    /*background-color: yellowgreen;*/ 
 
    float: left; 
 
} 
 

 
#dieo{ 
 
    background-color: #fff; 
 
    border: 1px solid #000; 
 
    transform: rotate(45deg); 
 
    width: 60px; 
 
    height: 60px; 
 
    color: #000; 
 
    margin-left: auto ! important; 
 
    margin-right: auto ! important; 
 
    border-radius: 8px; 
 
    margin-top: 27px; 
 
} 
 
#d61{ 
 
    margin-left: 5px; 
 
    margin-top: 5px; 
 
} 
 
#d62{ 
 
    margin-left: -14px; 
 
    margin-top: 41px; 
 
} 
 
#d63{ 
 
    margin-left: 23px; 
 
    margin-top: 5px; 
 
} 
 
#d64{ 
 
    margin-left: 22px; 
 
    margin-top: 22px; 
 
} 
 
#d65{ 
 
    margin-left: 24px; 
 
    margin-top: -50px; 
 
} 
 
#d66{ 
 
    margin-left: 24px; 
 
    margin-top: -14px; 
 
} 
 
.dot{ 
 
    width: 14px; 
 
    height: 14px; 
 
    background-color: #000; 
 
    border-radius: 50%; 
 
    float: left; 
 
} 
 
.roll{ 
 
    animation: roll 0.3s linear 10; 
 
} 
 
@keyframes roll{ 
 
    0%{ 
 
     transform: rotateX(45deg); 
 
     transform: rotateY(30deg); 
 
    } 
 
    25%{ 
 
     transform: rotateX(45deg); 
 
     transform: rotateY(60deg); 
 
} 
 
    50%{ 
 
     transform: rotateX(45deg); 
 
     transform: rotateY(90deg); 
 
    } 
 
    75%{ 
 
     transform: rotateX(45deg); 
 
     transform: rotateY(60deg); 
 
    } 
 
    100%{ 
 
     transform: rotateX(45deg); 
 
     transform: rotateY(30deg); 
 
    } 
 
}
<script></script> 
 
<div id="die"> 
 
    <div id="dieo"> 
 
     <div id="d6"> 
 
      <div id="d61" class="dot"></div> 
 
      <div id="d62" class="dot"></div> 
 
      <div id="d63" class="dot"></div> 
 
      <div id="d64" class="dot"></div> 
 
      <div id="d65" class="dot"></div> 
 
      <div id="d66" class="dot"></div> 
 
     </div> 
 
    </div> 
 
</div> 
 
<button type="button" id="btn"> ROLL </button>

+0

对不起,长时间打勾你的答案 –

+1

不觉得难过:) –