div+scss实现三维彩球由点汇聚成球动画效果代码
代码语言:html
所属分类:动画
代码描述:div+scss实现三维彩球由点汇聚成球动画效果代码
代码标签: div scss 三维 彩球 点 汇聚 球 动画
下面为部分代码预览,完整代码请点击下载或在bfwstudio webide中打开
<!DOCTYPE html> <html lang="en" > <head> <meta charset="UTF-8"> <style type = 'text/scss'> // global stuff * { margin: 0; padding: 0; box-sizing: border-box; } body { background: #000; overflow: hidden; font-family: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen, Ubuntu, Cantarell, "Open Sans", "Helvetica Neue", sans-serif; display: flex; flex-wrap: wrap; gap: 0.25rem; padding: 0.5rem; &:hover .scene { scale: 1.2; } } @mixin visually-hidden() { position: absolute; width: 1px; height: 1px; overflow: hidden; left: -10000px; } @mixin centered() { display: flex; justify-content: center; align-items: center; } // scene .scene { perspective: 30rem; transition: perspective 2s ease-in-out, scale 300ms ease; --rotationXstart: -30deg; --rotationXend: -30deg; position: absolute; left: 50%; top: 50%; * { position: absolute; transform-style: preserve-3d; } --radius: min(10rem, 35vw); } // sphere .sphere { @include centered(); animation: rotate-around 20s linear infinite; @keyframes rotate-around { 0% { transform: rotateX(var(--rotationXstart)) rotateY(0deg); } 100% { transform: rotateX(var(--rotationXend)) rotateY(360deg); } } } // points $number: 10; // number of latitudes $turn: 360deg; .point { --size: calc(0.15 * var(--radius)); width: var(--size); aspect-ratio: 1; border-radius: 50%; --alpha: 0deg; --beta: 0deg; --hue: 0deg; background-color: hsl(var(--hue), 100%, 50%); animation: intro 5s ease-in-out .........完整代码请登录后点击上方下载按钮下载查看
网友评论0