:doodle { @size: 100%; box-shadow: 20px auto; --ww: 250px; --prog: 0; --tt1: '00:00'; --tt2: '00:00'; --xplace: 80%; --yplace: 82%; --color: LimeGreen; } position: absolute; @nth(1) { @size: var(--ww) 2px; @place: var(--xplace) var(--yplace); background: silver; :before, :after { content: ''; } :before { position: absolute; left: 0; width: var(--prog); height: 100%; background: var(--color); } :after { width: 80%; height: 10px; cursor: pointer; } } @nth(2) { @size: var(--ww) 20px; @place: var(--xplace) calc(var(--yplace) - 20px); :before, :after{ position: absolute; width: 80%; height: 100%; color: var(--color); } :before { content: var(--tt1); } :after { content: var(--tt2); text-align: right; } } @nth(3) { @size: 60px; @place: var(--xplace) calc(var(--yplace) - 36px); cursor: pointer; z-index: 10; animation: rot 6s infinite linear var(--state); :after { content: ''; @size: inherit; clip-path: @shape( fill: evenodd; points: 300; scale: .45; x: cos(2t) + cos(π - 7t); y: sin(2t) + sin(7t); ); background: var(--color); } } @match(i ≥ 4) { @size: 32px 32px; @place: 260px 260px; background: url('https://xlaj.cn/assets/file/zp/20230714212357.jpg'); offset-path: path('M300 120 a240 160 0 1 0 480 0 a240 160 0 1 0 -480 0z'); animation: fly 18s calc((@size - @i) * -6.5s) infinite linear var(--state); } @keyframes rot { to { transform: rotate(360deg); } } @keyframes fly { to { offset-distance: 100%; }} :doodle { @size: auto 3em; left: 25%; top: 8%; transform: translate(-50%); --geci: 'HUACHAO'; --motion: cover2; --tt: 1s; } display: grid; place-items: center start; :before, :after { content: var(--geci); width: fit-content; height: fit-content; font: bold 2.4em Sans-serif; color: #fff; text-shadow: 1px 1px 1px #000; white-space: pre; } :after { position: absolute; white-space: pre; width: 0; color: SeaGreen; overflow: hidden; animation: var(--motion) var(--tt) linear forwards var(--state); } @keyframes cover1 { from { width: 0; } to { width: 100%; } } @keyframes cover2 { from { width: 0; } to { width: 100%; } }