Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/css/37.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Css 如何设置滚动矩形的动画_Css_Rotation_Css Animations_Css Transforms - Fatal编程技术网

Css 如何设置滚动矩形的动画

Css 如何设置滚动矩形的动画,css,rotation,css-animations,css-transforms,Css,Rotation,Css Animations,Css Transforms,我想设置一个矩形的动画,使其从屏幕的左侧滚动到屏幕的右侧。请注意,变换原点不应位于矩形的中心,而应位于右下角,以便它不会越过“hr”线或以任何方式反弹 这是我到现在为止所取得的成就,但我希望它能够不断移动,直到它到达屏幕的右边缘: hr{ 保证金:0; } div{ 宽度:135px; 高度:135px; 框阴影:插入0 10px#000000; 变换原点:右下角; 动画名称:移动; 动画持续时间:2秒; 动画计时功能:线性; 动画延迟:0; 动画迭代次数:无限; 动画方向:交替; } @关键

我想设置一个矩形的动画,使其从屏幕的左侧滚动到屏幕的右侧。请注意,变换原点不应位于矩形的中心,而应位于右下角,以便它不会越过“hr”线或以任何方式反弹

这是我到现在为止所取得的成就,但我希望它能够不断移动,直到它到达屏幕的右边缘:

hr{
保证金:0;
}
div{
宽度:135px;
高度:135px;
框阴影:插入0 10px#000000;
变换原点:右下角;
动画名称:移动;
动画持续时间:2秒;
动画计时功能:线性;
动画延迟:0;
动画迭代次数:无限;
动画方向:交替;
}
@关键帧移动{
0% {
变换:旋转(0度);
}
100% {
变换:旋转(90度);
}
}


有趣的是,我会考虑添加一个翻译,诀窍是在两个状态之间快速切换以继续移动。p>

你正在旋转你的元素,用<强> 90DEG >如果我们只考虑最终状态,在你的情况下,这个元素就等同于<强>平移,如果在两种情况下切换都是不可见的,那么你可以再次旋转你的元素,重复同样的技巧直到你达到需要。位置

hr{
保证金:0;
}
div{
宽度:135px;
高度:135px;
框阴影:插入0 10px#000000;
变换原点:右下角;
动画名称:移动;
动画持续时间:4s;
动画计时功能:线性;
动画延迟:0;
动画迭代次数:无限;
动画方向:交替;
}
@关键帧移动{
0% {
变换:旋转(0度);
}
25% {
变换:旋转(90度);
}
25.01% {
变换:translateX(计算(1*135px))旋转(0度);
}
50% {
变换:translateX(计算(1*135px))旋转(90度);
}
50.01% {
变换:translateX(计算(2*135px))旋转(0度);
}
75% {
变换:translateX(计算(2*135px))旋转(90度);
}
75.01% {
变换:translateX(计算(3*135px))旋转(0度);
}
100% {
变换:translateX(计算(3*135px))旋转(90度);
}
}



您需要边走边更改变换原点:

hr{
保证金:0;
}
div{
宽度:135px;
高度:135px;
框阴影:插入0 10px#000000;
变换原点:右下角;
动画名称:移动;
动画持续时间:12秒;
动画计时功能:线性;
动画延迟:0;
动画迭代次数:无限;
动画方向:交替;
边缘顶部:20px;
}
@关键帧移动{
0% {
变换:旋转(0度);
变换原点:右下角;
}
25% {
变换:旋转(90度);
变换原点:右下角;
}
25.1% {
变换:平移(100%,100%)旋转(90度);
变换原点:右上角;
}
50% {
变换:平移(100%,100%)旋转(180度);
变换原点:右上角;
}
50.1% {
变换:平移(300%,100%)旋转(180度);
变换原点:左上;
}
75% {
变换:平移(300%,100%)旋转(270度);
变换原点:左上;
}
75.1% {
变换:平移(400%,0%)旋转(270度);
变换原点:左下角;
}
100% {
变换:平移(400%,0%)旋转(360度);
变换原点:左下角;
}
}
测试


我刚开始使用这个配置时,发现正确的转换非常疯狂:)太棒了@VXp请注意以下值。。。像您这样使用非常小的值在所有情况下都不起作用。。测试时,它对chrome不起作用,但对我来说效果很好,chrome也是。当前值不合适。@VXp奇怪。。。它经过测试,但对我不起作用。。当我尝试使用0.1以下的值时,我也遇到了同样的问题。。。嗯,我已经把它们从0.5降到了0.1,我认为这样更好。。我会看看我这边发生了什么我运行了多次,没有任何问题,真的很奇怪。@VXp现在工作正常:/n不确定是什么问题。。可能是一个浏览器错误,造成了一种闪烁