怎么完全用CSS3使一个的元素做流畅的弧线运动?

 我来答
peashoot
推荐于2018-03-08 · TA获得超过1047个赞
知道小有建树答主
回答量:499
采纳率:64%
帮助的人:143万
展开全部
可以做一个animation,举一个例子,让一个元素在某一个范围之内,左距离和上距离同时改变。但是,弧线要让两个距离改变速度变化不一致,所以最好一个元素改变上方距离(可以是top也可是margin-top),里面嵌入一个元素改变左边距离。例如,假如你要让横轴均匀变化,纵轴不均匀变化,轨迹为⌒形,可以左变化为{from{margin-left:0px}to{margin-left:200px}},运动方式设为linear,然后上下变化可以{from{margin-top:100px}50%{margin-top:0px}to{margin-top:100px}},运动方式设为ease-in-out。由于时间仓促我没有具体实验过,而且表达可能不太清楚,请原谅。
海南岛也会下雪
2017-04-09 · TA获得超过317个赞
知道小有建树答主
回答量:312
采纳率:74%
帮助的人:69.6万
展开全部
  1. 首先运动要用到transform:translate。

  2. 单单translate不够,它是直线运动。这时候要加上旋转。因为直线运动的方向是相对于元素本身的指向的。

  3. 所以在平移的时候改变元素本身的志向就会改变移动方向。这时候做一个平缓的旋转,那么它移动的轨迹就是弧线了。transform:rotate

  4. 同时设置transform:translate()  rotate()。

  5. 再使用动画,让这个属性平均的变换就可以了

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
a3476012
2016-07-15 · TA获得超过1268个赞
知道小有建树答主
回答量:484
采纳率:87%
帮助的人:134万
展开全部
在html5+css3中做到动态效果有4种方式:
1.transition(过渡)-通过属性值的变化来平滑过渡产生动画;

2.animate(动画)-这是css3中的自带的动画,可以动过各种变形(比如形变、缩放、位移),这里的位移其实就可以实现弧线运动,但是这儿需要的代码会非常多,个人是不建议用这个方法的。

3.canvas(画布)-可以想象着拿着一支笔在画笔上画东西,映射到电脑上,就是在每个坐标上面画东西。

4.svg-抱歉 这个我还没研究。

推荐方式:
canvas,步骤:

1.要达到弧线运动,那么就必须知道弧线的公式
2.通过setinterval来设置每一帧的坐标,比如:
(function({
y=公式与x的联系
} ,30)//这儿的30,代表30毫秒为一帧。
补充:如果要有个重复动作,那么久必须设置一个临界值,然后点返回原点重复动作;
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
千锋教育
2018-08-02 · 做真实的自己 用良心做教育
千锋教育
千锋教育专注HTML5大前端、JavaEE、Python、人工智能、UI&UE、云计算、全栈软件测试、大数据、物联网+嵌入式、Unity游戏开发、网络安全、互联网营销、Go语言等培训教育。
向TA提问
展开全部
这种需求除了自己要做研究或者show一下做个demo外,还是js比较好。
css3的话,给该元素套个外层dom,外层transform:rotate,控制好半径(由外层dom大小控制)、角度、时间就行。
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
三糖糖
2017-01-20 · TA获得超过373个赞
知道小有建树答主
回答量:390
采纳率:75%
帮助的人:116万
展开全部

这个要用到animation这个属性,

可以参考这个

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(7)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式