我有这样的:保持旋转的CSS动画水平
div {
\t position: relative;
\t width: 20px;
\t height: 100px;
\t border-radius: 10px;
\t background: green;
\t margin: 0 auto;
\t transform-origin: 10px 10px;
\t animation: rotate 1s ease-in-out infinite alternate;
}
@keyframes rotate {
\t from {transform: rotate(-30deg);}
\t to {transform: rotate(30deg);}
}
hr {
\t position: relative;
\t top: -10px;
}
<div></div>
<hr>
但我想是这样的:
div {
\t position: relative;
\t width: 20px;
\t height: 100px;
\t border-radius: 10px;
\t background: green;
\t margin: 0 auto;
\t transform-origin: 10px 10px;
\t animation: rotate 1s ease-in-out infinite alternate, translate 0.5s ease-in-out infinite alternate;
}
@keyframes rotate {
\t from {transform: rotate(-30deg);}
\t to {transform: rotate(30deg);}
}
@keyframes translate {
\t from {top: 10px;}
\t to {top: 0px;}
}
hr {
\t position: relative;
\t top: -10px;
}
<div></div>
<hr>
编辑:我可能没不解释这个w够了。我的意思是,有没有办法让div的底部触摸这条线,无需使用任何动画来上下移动呢?我希望它是动态的,所以如果我改变旋转的值,我将不必计算和改变翻译的值。
编辑2:简单地说:我只想让div做第二个例子,而不需要垂直移动的特定值。
做什么没有呢?我不确定你是什么意思。 –
你可以同时动画它的长度吗? – ceejayoz
https://jsfiddle.net/uooczh9p/ –