div+css布局实现文字环绕成太阳形状代码
代码语言:html
所属分类:布局界面
代码描述:div+css布局实现文字环绕成太阳形状代码
代码标签: div css 布局 文字 环绕 成 太阳 形状 代码
下面为部分代码预览,完整代码请点击下载或在bfwstudio webide中打开
<!DOCTYPE html> <html lang="en" > <head> <meta charset="UTF-8"> <style> @property --rotate { syntax: "<number>"; inherits: true; initial-value: 0; } @property --delayed-rotate { syntax: "<number>"; inherits: true; initial-value: 0; } @keyframes scrollAnim { to { --rotate: 1; --delayed-rotate: 1; } } :root { --circle-size: 30vmin; --spacing: 3vmin; --font-size: 5vmin; --ease-speed: 50ms; } body { height: 500vh; margin: 0; padding: 0; font-family: serif; font-size: var(--font-size); background-color: #EDE8E4; color: #222; animation: scrollAnim linear; animation-timeline: scroll(nearest block); } ul { position: fixed; left: 50%; top: 50%; translate: -50% -50%; display: block; width: var(--circle-size); height: var(--circle-size); margin: 0; padding: 0; list-style: none; border-radius: 50%; transform: rotate(calc(var(--rotate) * 360deg)); } li { position: absolute; top: 50%; left: 50%; line-height: 0; transform-origin: 0 0; text-wrap: nowrap; } li:nth-child(1) { rotate: calc(18deg); } li:nth-child(2) { rotate: calc(36deg); } li:nth-child(3) { rotate: calc(54deg); } li:nth-child(4) { rotate: calc(72deg); } li:nth-child(5) { rotate: calc(90deg); } li:nth-child(6) { rotate: calc(108deg); } li:nth-child(7) { rotate: calc(126deg); } li:nth-child(8) { rotate: calc(144deg); } li:nth-child(9) { rotate: calc(162deg); } li:nth-child(10) { rotate: calc(180deg); } li:nth-child(11) { rotate: calc(198deg); } li:nth-child(12) { rotate: calc(216deg); } li:nth-child(13) { rotate: calc(234deg); } li:nth-child(14) { rotate: calc(252deg); } li:nth-child(15) { rotate: calc(270deg); } li:nth-child(16) { rotate: calc(288deg); } li:nth-child(17) { rotate: calc(306deg); } li:nth-child(18) { rotate: calc(324deg); } li:nth-child(19) { rotate: calc(342deg); } li:nth-child(20) { rotate: calc(360deg); } li span { --rotate-velocity: calc(var(--rotate) - var(--delayed-rotate)); --rotate-velocity-abs: abs(var(--rotate-velocity)); --rotate-spacing: calc(var(--spacing) * -4 * var(--rotate-velocity)); --x: calc(var(--circle-size) / 2 + var(--rotate-spacing)); --y: calc(10px * var(--rotate-velocity)); --r: calc(90deg * var(--rotate-velocity)); display: inline-block; transform: translate(var(--x), var(--y)) rotate(var(--r, 0deg)); } li span:nth-child(1) { --y: calc((1 * -20px) * var(--rotate-velocity)); transform-origin: var(--x) 0; transition: --delayed-rotate calc(var(--ease-speed, 100ms) * 0) ease-out; } li span:nth-child(2) { --y:.........完整代码请登录后点击上方下载按钮下载查看
网友评论0