写了一个React动画插件(有点小不能算库了。),用于在Web上实现Fluent Design中的描边光效

 开门见山

        是这个,在这里,看它:react-reveal-effect

react-reveal-effect - npmicon-default.png?t=M3C8https://www.npmjs.com/package/react-reveal-effect

优点 

        速度快,使用简单,直接使用 RevealEffect 组件包裹住你想要实现光效的HTML元素,就有效果了。

        也可以使用useRevealEffect Hook 直接自己写光效元素的样式,很自由。

缺陷

        使用嵌套父子元素实现光效边框的效果,其实并不是border。

        使用background-image实现光效。如果为了不对元素本身的样式造成影响(比如和自己写的background-image冲突了),请在内部添加一个光效元素。

        施加光效的元素不能透明。透明了就看到下面随着鼠标运动的background-image了。

        下面推荐的库里,react-uwp可以支持元素透明。

说一点废话,推荐一点别的库

        之前就对Windows 开始菜单中的按钮描边光效很馋,在网上搜了一下都没有Web的实现,连Microsoft基于React实现的官方库Fluent Design Component都没实现这个光效。。

        过了很久才找到一个React的实现,是使用canvas绘制描边光效。很厉害比较完善不过性能不是很好。作者也不维护了,应该就是个玩具

(点进作者的github,可以看到他把实现光效的库剥离出来了,可以直接使用这个库实现自己的效果)
https://www.react-uwp.com/get-startedicon-default.png?t=M3C8https://www.react-uwp.com/get-started        又找到了一个使用background-image实现描边光效的库,这个库仅用于实现描边光效,且仅适用于原生html+js,在React里使用有点=-=。不过能用。(我的库就是受到它的启发实现的。

fluent-reveal-effect - npmicon-default.png?t=M3C8https://www.npmjs.com/package/fluent-reveal-effect   通过寻找它的Dependents也找到了一个vue的fluent design组件库

vfluentdesign - npmicon-default.png?t=M3C8https://www.npmjs.com/package/vfluentdesign

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
React 动画有一些可以实现曲线移动的动画插件动画库,下面是其的一些: 1. React Spring React Spring 是一个用于创建流畅、高性能和交互式动画的库。它提供了许多有用的组件和钩子,可以实现各种动画效果,包括曲线移动。你可以使用 `useSpring` 钩子来创建基于曲线的动画,例如: ```jsx import { useSpring, animated } from 'react-spring' const props = useSpring({ to: { left: 500, top: 300 }, config: { duration: 1000, easing: t => t * t } }) <animated.div style={props} /> ``` 在这个例子,我们使用 `useSpring` 钩子创建一个动画,该动画将元素从当前位置移动到 { left: 500, top: 300 }。我们还使用 `config` 属性指定了动画的持续时间和曲线。 2. React Move React Move 是一个用于创建动态和交互式动画的库。它提供了一些方便的组件和钩子,可以实现各种动画效果,包括曲线移动。你可以使用 `Curve` 组件来创建基于曲线的动画,例如: ```jsx import { Curve } from 'react-move' <Curve data={[{ x: 0, y: 0 }, { x: 500, y: 300 }]}> {({ x, y }) => <div style={{ left: x, top: y }} />} </Curve> ``` 在这个例子,我们使用 `Curve` 组件创建一个基于曲线的动画,该动画将元素从当前位置移动到 { x: 500, y: 300 }。我们还使用函数作为 `Curve` 组件的子元素来渲染移动的元素。 3. React Motion React Motion 是一个用于创建流畅和高性能动画的库。它提供了一些方便的组件和钩子,可以实现各种动画效果,包括曲线移动。你可以使用 `Motion` 组件来创建基于曲线的动画,例如: ```jsx import { Motion, spring } from 'react-motion' <Motion defaultStyle={{ left: 0, top: 0 }} style={{ left: spring(500), top: spring(300) }}> {({ left, top }) => <div style={{ left, top }} />} </Motion> ``` 在这个例子,我们使用 `Motion` 组件创建一个基于曲线的动画,该动画将元素从当前位置移动到 { left: 500, top: 300 }。我们还使用函数作为 `Motion` 组件的子元素来渲染移动的元素。 这些都是 React 实现曲线移动的动画插件动画库的一些例子,它们都可以根据你的需求进行定制化。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值