最近看到好多光圈动画效果,想了解一下怎么实现的,于是搜索了一些视频。 本代码是根据B站教程写出来的 视频地址
主要是有以下知识点:
以上知识点都了解了可以直接看下面含有tailwindcss的代码:
<div className='flex justify-center items-center w-full'> <button type='button' className='px-24 py-8 text-3xl font-bold bg-[conic-gradient(from_var(--shimmer-angle),theme(colors.red.500)_0%,theme(colors.yellow.500)_30%,theme(colors.blue.500)_60%,theme(colors.green.500)_90%)] animate-[shimmer_2s_linear_infinite] rounded-[24px] relative after:flex after:absolute after:bg-slate-300 after:inset-[2px] after:rounded-[22px] after:content-[attr(aria-label)] after:justify-center after:items-center dark:after:bg-slate-600 ' aria-label="渐变光圈变化" > <span className=' opacity-0'>渐变光圈变化</span> </button> </div>
还需要添加一些额外的css:
@property --shimmer-angle { syntax: '<angle>'; inherits: false; initial-value: 0deg; } @keyframes shimmer { 0% { --shimmer-angle: 0deg; } 100% { --shimmer-angle: 360deg; } }