##再現したいこと
pug+scssで書かれているコードを
react+typescript+styled-componentsで再現したい
再現元のコード
scss
1 2$spinSize: 300px; 3$ballSize: 100px; 4$ballMaxSize: 300; 5$ballMinSize: 40; 6$ballCount: 5; 7 8body { 9 background: #000; 10 height: 100vh; 11 overflow: hidden; 12} 13#ui { 14 .spin { 15 position: absolute; 16 top: 50%; 17 left: 50%; 18 width: $spinSize * 2; 19 height: $spinSize * 2; 20 margin: -#{$spinSize} 0 0 -#{$spinSize}; 21 background: #000; 22 filter: blur(10px) contrast(30); 23 animation: spin 8000ms infinite alternate cubic-bezier(0.545, 0.080, 0.520, 0.975); 24 25 &_ball { 26 position: absolute; 27 top: 50%; 28 left: $spinSize / 2; 29 width: $ballSize; 30 height: $ballSize; 31 margin-top: -#{$ballSize / 2}; 32 border-radius: 100%; 33 transform-origin: #{$spinSize / 2} 50%; 34 35 36 @for $i from 1 through $ballCount { 37 &:nth-child(#{$i}) { 38 transform: rotateZ(#{360 / $ballCount * $i}deg); 39 animation: ball_#{$i} #{random(12000) + 12000}ms infinite alternate cubic-bezier(0.545, 0.080, 0.520, 0.975); 40 } 41 } 42 } 43 } 44} 45 46@keyframes spin { 47 0% { 48 transform: rotateZ(0deg); 49 } 50 100% { 51 transform: rotateZ(359deg); 52 } 53} 54 55@for $i from 1 through $ballCount { 56 @keyframes ball_#{$i} { 57 @for $j from 0 through 10 { 58 #{$j * 10}% { 59 width: #{random($ballMaxSize - $ballMinSize) + $ballMinSize}px; 60 height: #{random($ballMaxSize - $ballMinSize) + $ballMinSize}px; 61 background: linear-gradient(135deg, #6E91BF, #274A78); 62 63 } 64 } 65 } 66} 67
pug
1- var ballCount = 5 2 3#ui 4 .spin 5 - for (var i = 1; i <= ballCount; i++) 6 .spin_ball
styled-components内でランダムな変数定義してそれをfor文で回すのがどうするのかがわからない
実際どんなコードになるのか教えて頂ければ幸いです。
あなたの回答
tips
プレビュー