์จ์ด๋ธ ์ ๋๋ฉ์ด์ ๋ง๋ค๊ธฐ๐
์ด๋ฒ ํฌ์คํ ์์๋ ์จ์ด๋ธ ์ ๋๋ฉ์ด์ ์ ๋ง๋ค์ด๋ณด๋๋ก ํ๊ฒ ๋ค.
HTML Pug ์ฝ๋
HTML ์ฝ๋์์๋ ๋ฐ๋ณต ์์ ํด์ผ ํ ๊ฒ์ Pug ์ฝ๋์์๋ JS์ฒ๋ผ for๋ฌธ์ด ์ฌ์ฉ ๊ฐ๋ฅํ์ฌ ์์ค๋ฅผ ๊ฐ๋ตํ ํ ์ ์์ต๋๋ค. circle-wrap ํด๋์ค div ๋ฐ์ค ํ๋ ์์ row ํด๋์ค div(์์ circleํด๋์ค div 12๊ฐ) 12๊ฐ๋ฅผ ๋ง๋๋ ๋ฐฉ๋ฒ์ด๋ค.
div.circle-wrap
- for (var x =1; x <= 12; x++)
div.row
- for (var y = 1; y <= 12; y++)
div.circle
HTML ์ฝ๋๋ก ์ปดํ์ผ
HTML์์ ๋ฌด์ฒ ๊ธธ๊ณ ๋ณต์กํ ์ฝ๋๋ Pug์์๋ 5์ค์ด๋ฉด ์ธ ์ ์๋ค.
์ฝ๋ ํผ์ณ๋ณด๊ธฐ
<div class="circle-wrap">
<div class="row">
<div class="circle"></div>
<div class="circle"></div>
<div class="circle"></div>
<div class="circle"></div>
<div class="circle"></div>
<div class="circle"></div>
<div class="circle"></div>
<div class="circle"></div>
<div class="circle"></div>
<div class="circle"></div>
<div class="circle"></div>
<div class="circle"></div>
</div>
<div class="row">
<div class="circle"></div>
<div class="circle"></div>
<div class="circle"></div>
<div class="circle"></div>
<div class="circle"></div>
<div class="circle"></div>
<div class="circle"></div>
<div class="circle"></div>
<div class="circle"></div>
<div class="circle"></div>
<div class="circle"></div>
<div class="circle"></div>
</div>
<div class="row">
<div class="circle"></div>
<div class="circle"></div>
<div class="circle"></div>
<div class="circle"></div>
<div class="circle"></div>
<div class="circle"></div>
<div class="circle"></div>
<div class="circle"></div>
<div class="circle"></div>
<div class="circle"></div>
<div class="circle"></div>
<div class="circle"></div>
</div>
<div class="row">
<div class="circle"></div>
<div class="circle"></div>
<div class="circle"></div>
<div class="circle"></div>
<div class="circle"></div>
<div class="circle"></div>
<div class="circle"></div>
<div class="circle"></div>
<div class="circle"></div>
<div class="circle"></div>
<div class="circle"></div>
<div class="circle"></div>
</div>
<div class="row">
<div class="circle"></div>
<div class="circle"></div>
<div class="circle"></div>
<div class="circle"></div>
<div class="circle"></div>
<div class="circle"></div>
<div class="circle"></div>
<div class="circle"></div>
<div class="circle"></div>
<div class="circle"></div>
<div class="circle"></div>
<div class="circle"></div>
</div>
<div class="row">
<div class="circle"></div>
<div class="circle"></div>
<div class="circle"></div>
<div class="circle"></div>
<div class="circle"></div>
<div class="circle"></div>
<div class="circle"></div>
<div class="circle"></div>
<div class="circle"></div>
<div class="circle"></div>
<div class="circle"></div>
<div class="circle"></div>
</div>
<div class="row">
<div class="circle"></div>
<div class="circle"></div>
<div class="circle"></div>
<div class="circle"></div>
<div class="circle"></div>
<div class="circle"></div>
<div class="circle"></div>
<div class="circle"></div>
<div class="circle"></div>
<div class="circle"></div>
<div class="circle"></div>
<div class="circle"></div>
</div>
<div class="row">
<div class="circle"></div>
<div class="circle"></div>
<div class="circle"></div>
<div class="circle"></div>
<div class="circle"></div>
<div class="circle"></div>
<div class="circle"></div>
<div class="circle"></div>
<div class="circle"></div>
<div class="circle"></div>
<div class="circle"></div>
<div class="circle"></div>
</div>
<div class="row">
<div class="circle"></div>
<div class="circle"></div>
<div class="circle"></div>
<div class="circle"></div>
<div class="circle"></div>
<div class="circle"></div>
<div class="circle"></div>
<div class="circle"></div>
<div class="circle"></div>
<div class="circle"></div>
<div class="circle"></div>
<div class="circle"></div>
</div>
<div class="row">
<div class="circle"></div>
<div class="circle"></div>
<div class="circle"></div>
<div class="circle"></div>
<div class="circle"></div>
<div class="circle"></div>
<div class="circle"></div>
<div class="circle"></div>
<div class="circle"></div>
<div class="circle"></div>
<div class="circle"></div>
<div class="circle"></div>
</div>
<div class="row">
<div class="circle"></div>
<div class="circle"></div>
<div class="circle"></div>
<div class="circle"></div>
<div class="circle"></div>
<div class="circle"></div>
<div class="circle"></div>
<div class="circle"></div>
<div class="circle"></div>
<div class="circle"></div>
<div class="circle"></div>
<div class="circle"></div>
</div>
<div class="row">
<div class="circle"></div>
<div class="circle"></div>
<div class="circle"></div>
<div class="circle"></div>
<div class="circle"></div>
<div class="circle"></div>
<div class="circle"></div>
<div class="circle"></div>
<div class="circle"></div>
<div class="circle"></div>
<div class="circle"></div>
<div class="circle"></div>
</div>
</div>
SCSS ์ฝ๋
body์ ๊ทธ๋ผ๋ฐ์ด์ ๋ฐฐ๊ฒฝ์ ์ฃผ๊ณ row ์์ดํ ๋ค์ flex๋ก ๊ฐ์ด๋ฐ ์ ๋ ฌํ ๋ค์ ๊ฐ๊ฐ circle์ 10px์ ๋๋น๊ฐ๊ณผ ๋์ด๊ฐ์ ์ฃผ๊ณ keyframes๋ก ์ ๋๋ฉ์ด์ ์ ์ฃผ๋๋ก ํฉ๋๋ค.
@mixin center {
display: flex;
align-items: center;
justify-content: center;
}
body {
@include center;
height: 100vh;
background-image: linear-gradient(45deg, #00dbde 0%, #fc00ff 100%)
}
.row {
display: flex;
.circle {
width: 10px;
height: 10px;
border-radius: 50%;
margin: 5px 10px;
background: #fff;
transform-origin: top center;
animation: spin 1s linear infinite;
}
}
@keyframes spin {
0% {transform:scale(1.1) rotate(0deg)}
50% {transform:scale(0.2) rotate(180deg)}
100% {transform:scale(1.1) rotate(360deg)}
}
// .row:nth-child(1) .circle{animation-delay: 100ms}
// .row:nth-child(1) .circle{animation-delay: 200ms}
// .row:nth-child(1) .circle{animation-delay: 300ms}
// .row:nth-child(1) .circle{animation-delay: 400ms}
// for๋ฌธ์ผ๋ก ๊ฐ๋ตํ
@for $i from 1 through 12 {
.row:nth-child(#{$i}) .circle{animation-delay: 100ms * $i}
}
๊ฒฐ๊ณผ๋ฌผ
์~์ฑ๐
'CSS' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[CSS] ํตํต ํ๋ ๊ธ์ ํจ๊ณผ๐ฐ (8) | 2022.09.22 |
---|---|
[CSS] ๋ง์ฐ์ค ์ค๋ฒ ํจ๊ณผ(Mouse Hover Effect) (4) | 2022.09.20 |
[CSS] ๊ฑท๋ ํธ๋ฐ ์ ๋๋ฉ์ด์ ๋ง๋ค๊ธฐ๐ (8) | 2022.09.08 |
[CSS] ํ ์คํธ๊ฐ ์์ํ ๊ทธ๋ ค์ง๋ SVG ์ ๋๋ฉ์ด์ (4) | 2022.09.08 |
[CSS] SVG๋? - ๋ํยท์ ๋๋ฉ์ด์ ๋ง๋ค๊ธฐ (8) | 2022.09.07 |
๋๊ธ