40_Background Boxes
๐ป์ฃผ์ : gif์ด๋ฏธ์ง๋ฅผ ๋ณด์ฌ์ฃผ๋ 3d ๋ฐ์ค
btn.addEventListener('click', () => boxesContainer.classList.toggle('big'))
function createBoxes() {
for(let i=0; i<4; i++) {
for(let j=0; j<4; j++) {
const box = document.createElement('div')
box.classList.add('box')
box.style.backgroundPosition = `${-j * 125}px ${-i * 125}px`
//boxContainer ์์ box ์์ ๋ฃ๊ธฐ
boxesContainer.appendChild(box)
}
}
}
<div class="box" style="background-position: 0 0;"></div>
<div class="box" style="background-position: -125px 0;"></div>
<div class="box" style="background-position: -250px 0;"></div>
<div class="box" style="background-position: -375px 0;"></div>
.magic:active {
box-shadow: none;
/* ๋ฒํผ ๋๋ ์ ๋ 2px ์๋๋ก ์์ง์ */
transform: translateY(2px);
}
.boxes {
height: 500px;
width: 500px;
display: flex;
flex-wrap: wrap;
justify-content: space-around;
position: relative;
transition: .4s ease;
}
.boxes.big .box {
transform: rotateZ(360deg);
}
.box {
background-image: url('https://gifburg.com/images/gifs/spongebob/gifs/0010.gif');
background-repeat: no-repeat;
background-size: 500px 500px;
position: relative;
background-color: yellow;
height: 125px;
width: 125px;
transition: .4s ease;
}
.box::after {
content: '';
background-color: #f6e58d;
position: absolute;
top: 8px;
right: -15px;
height: 100%;
width: 15px;
transform: skewY(45deg);
}
.box::before {
content: '';
background-color: #f9ca24;
position: absolute;
left: 8px;
bottom: -15px;
height: 15px;
width: 100%;
transform: skewX(45deg);
}
::after์ ::before๋ CSS ๊ฐ์ ์์(pseudo-elements)๋ก, HTML์ ์ง์ ์กด์ฌํ์ง ์๋ ์ฝํ ์ธ ๋ฅผ ์์ฑํ์ฌ ์์์ ํน์ ์์น์ ์ถ๊ฐํ ์ ์๊ฒ ํด์ฃผ๋ ๊ธฐ๋ฅ์ด๋ค.
<div class="box">Content</div>
.box::after {
content: "After";
}
.box::before {
content: "Before";
}
์์ ์ฝ๋์์
.box๋ผ๋ ํด๋์ค๋ฅผ ๊ฐ์ง ์์์ ::after์ ::before ๊ฐ์ ์์๋ฅผ ์ฌ์ฉํ๋ค.
๊ฒฐ๊ณผ๋
BeforeContentAfter
์ด๋ค.
ํด๋น ์์์๋ "Before"๊ฐ ๋จผ์ ์ถ๋ ฅ๋๊ณ , ๊ทธ ๋ค์ "Content"๊ฐ ์๋ ์์์ ๋ด์ฉ์ผ๋ก ์ถ๋ ฅ๋๊ณ , ๋ง์ง๋ง์ผ๋ก "After"๊ฐ ๋๋ค. ์ฆ, ::before๋ ์์์ ๋งจ ์์, ::after๋ ์์์ ๋งจ ๋ค์ ์์นํ์ฌ ์ฝํ ์ธ ๋ฅผ ์์ฑํ๊ฒ ๋๋ค.
๊ฐ๋ฐ์๋ก์ ์ฑ์ฅํ๋ ๋ฐ ํฐ ๋์์ด ๋ ๊ธ์ด์์ต๋๋ค. ๊ฐ์ฌํฉ๋๋ค.