์์์ ํ๋ฆ์ ๋ฐ๋ผ ๋งํฌ์ ์ ์งํํ๊ณ ๋ ๊ทธ๊ฒ์ ์คํ์ผ๋ง ํ๋ค ๋ณด๋ฉด ๊ธฐํ๊ธ์์ ์ผ๋ก ๋์ด๋๋ ํ ์คํธ์ ๋ผ์ธ์ ํ์ธํ ์ ์๋ค.
์ค๋ณต๋๋ ์์ฑ๋ค, copy & paste, ์ด๋์ ์ ์ฉ๋์๋์ง ๊ฐ๋ ํ ์ ์์ด ๊น์ ์คํ์ผ๋ง ๊ณ์ธต.
๋น์ฆ๋์ค ๋ก์ง ์ธ์ ๋งํฌ์ ๊ณผ ์คํ์ผ๋ง๋ ์ค๊ณ๊ฐ ์ค์ํ๋ค. ์ด๊ฒ์ ์์คํ ์ ๋ฌธ์ ๋ ๊ทธ๋ ์ง๋ง ๊ทธ๊ฒ์ ๊ด๋ฆฌํ๋ ์ฌ๋์๊ฒ ๊ฐํ ์ํฅ์ ๋ฏธ์น๋ ๊ฒ ๊ฐ๋ค.
์ต๊ทผ CSS๋ฅผ ๋ฐ๋ผ๋ณด๋ ์๋ก์ด ๊ด์ ์ด ์๊ฒผ๋ค. ํ๋ฉด์ ๋ ๋๋ง๋๋ ์์๋ค์ด 3๊ณ์ธต์ ๊ฐ์ง๋ค๋ ๊ฒ์ด๋ค.
normal flow => float => position ์์๋ก ๋ ์์ ํ๋๋ก ์ฌ๋ผ๊ฐ๋ค๋ ๊ด์ ์ธ๋ฐ ์ ๋ง ๊ทธ๋ ๊ฒ ๋๋ ๊ฒฝ์ฐ๊ฐ ๋ง๋ค.
์ต๊ทผ์๋ flex๋ฅผ ๋ง์ด ์ฌ์ฉํด์ float์ ์ ์ฌ์ฉํ์ง ์์๋๋ฐ ์ธ๋ฐํ ๋ฐฐ์น๋ฅผ ์ํด ์๊ณ ๋ ์์ด์ผ๊ฒ ๋ค.
position์ ๊ธฐ๋ณธ ๊ฐ์ด๋ค. top, right, bottom, left ์์ฑ๊ณผ z-index ์์ฑ์ด ์ํฅ์ ์ฃผ์ง ๋ชปํ๋ค. ์ผ๋ฐ์ ์ธ ๋ฌธ์์ ํ๋ฆ์ ๋ฐ๋ผ ๋ฐฐ์น๋๋ค.
๋ฌธ์์ ํ๋ฆ์ ๋ฐ๋ผ ์์ธ ์๊ธฐ ์์ ์ ๊ธฐ์ค์ผ๋ก ์์น๋ฅผ ์ฌ์กฐ์ ํ๋ค. top, right, bottom, left ์์ฑ์ด ์์ฉํ๋ค.
๋ฌธ์์ ํ๋ฆ์ ๋ฐ๋ผ ์์น๊ฐ ์กฐ์ ๋๊ธฐ ๋๋ฌธ์ ์์ ์ ์๋ ์์น์ ์ํฅ์ ์ฃผ๋ ๋ฐ์ดํฐ๊ฐ ๋ณ๋์ฑ์ด ์๋ค๋ฉด relative๋ก ์กฐ์ ํ ์์น๋ ๊ณ์ ์ฌ์กฐ์ ํด์ผํ๋ค.
์์ ์ ์ ์์น์ ๋ถ์ ์ ๋๊ณ ๊ทธ๊ฒ์ ๊ธฐ์ค์ผ๋ก ์์ง์ฌ์ง๋ค๊ณ ์๊ฐํ๋ฉด ํธํ๋ค.
์ผ๋ฐ์ ์ธ ๋ฌธ์์ ํ๋ฆ์์ ๋ฒ์ด๋๋ค. ๊ฐ์ฅ ๊ฐ๊น์ด ์์น ์ง์ ์์(position์ด static์ด ์๋ ์์)์ธ ์กฐ์์ ๊ธฐ์ค์ผ๋ก ์์น๊ฐ ์กฐ์ ๋๋ค.
display๊ฐ inline-block์ผ๋ก ์ง์ ๋๋ฉฐ ํฌ๊ธฐ๋ฅผ ๋ฐ๋ก ๋ช ์ํ์ง ์์ผ๋ฉด ๋ด๋ถ ์ปจํ ์ธ ์ ํฌ๊ธฐ ๋งํผ ์ค์ด๋ ๋ค.
์์น๋ฅผ ์ง์ ํ ๋ ๋ถ์ฌ๋ margin ๊ฐ์ ๊ณ ๋ คํด์ ์ง์ ๋๋ค.
absolute์ฒ๋ผ ์ผ๋ฐ์ ์ธ ํ๋ฆ์์ ๋ฒ์ด๋๋ค. ํ์ง๋ง ๊ธฐ์ค์ด ๋ทฐํฌํธ๊ฐ ๋๋ค.
๋ง์ฐฌ๊ฐ์ง๋ก display๊ฐ inline-block์ผ๋ก ์ง์ ๋๋ฉฐ ํฌ๊ธฐ๋ฅผ ๋ฐ๋ก ๋ช ์ํ์ง ์์ผ๋ฉด ๋ด๋ถ ์ปจํ ์ธ ์ ํฌ๊ธฐ ๋งํผ ์ค์ด๋ ๋ค.
์ด๊ธฐ์๋ ์ผ๋ฐ์ ์ธ ํ๋ฆ์ ๋ฐ๋ผ ๋ฐฐ์นํ๊ณ ๊ฐ์ฅ ๊ฐ๊น์ด ์คํฌ๋กค ๊ฐ๋ฅ ์กฐ์์ ๊ธฐ์ค์ผ๋ก ์์น๋ฅผ ์ง์ ํ๋ค.
์ฌ์ค ๊ทธ ์กฐ์์ด ์คํฌ๋กค ์์ฑ์ ๊ฐ์ง๊ณ ์์ง๋ง ์ค์ ๋ก๋ ์คํฌ๋กค์ด ๋ถ๊ฐ๋ฅํ๋ค๋ฉด sticky๋ ์๋ํ์ง ์๋๋ค.
position์ด ์กฐ์ ๊ฐ๋ฅํ๊ณ ์์น๋ฅผ ์กฐ์ ํ ์ ์๋ ์์(inline X)์ ์ฌ์ฉ๊ฐ๋ฅํ๋ค.
.box {
position: absolute(or fixed)
width: 200px;
height: 200px;
top: 0;
right: 0;
bottom: 0;
left: 0;
margin: auto;
}
์๋ ์ํ margin์ auto ๊ฐ์ ์ ์ฉ์ด ์ ๋์ง๋ง, position ์ธต์์๋ ์ํ์ margin๋ auto๊ฐ ๊ฐ๋ฅํ๋ค.
.box {
top: 50%;
left: 50%;
transform: translate(-50%, -50%);
width: 50%;
height: 50%;
padding: 20px;
}
์ ์์์์๋ width์ height๋ฅผ ์ค์ ํ์ง๋ง ์ค์ ํ์ง ์์๋ ๊ฐ๋ฅํ๋ค.
position relative๋ inline์ด ์๋๋ผ๋ฉด ๊ฐ๋ฅํ๋ค.
CSS๋ฅผ ์์ฑํ๋ค ๋ณด๋ฉด ์ค๋ณต๋๋ ํํ๋ค์ด ์ฐธ ๋ง์ด ์๊ธด๋ค. ๊ณตํต๋ ์์๋ค์ ์ถ๋ฆฌ๊ณ ๊ฒฝ์ฐ์ ๋ฐ๋ผ class๋ฅผ ์ถ๊ฐํ๋ ์์ผ๋ก ์์ฑํ๋ค๋ฉด css ํ์ผ์ ์์ ํจ์ฌ ์ค์ผ ์ ์๋ค.
.tag__btn {
border: none;
color: #fff;
font-weight: 700;
}
.small {
border-radius: 8px;
padding: 5px 10px;
font-size: 10px;
}
.green {
background-color: #27ae60;
}
๋ค์๊ณผ ๊ฐ์ด button์ ๊ณตํต์ผ๋ก ๋ค์ด๊ฐ ์์ฑ์ ๋ฐ๋ก ๋นผ๊ณ , ์ถ๊ฐ์ ์ผ๋ก ์ ์ฉ ๋ ์ต์ ์ ์ค์ ํ๋ ์์ผ๋ก ํ๋ค๋ฉด ์ฌ์ฌ์ฉ์ฑ์ ๋๋ฆด ์ ์๋ค.
๋ํ CSS์์ position ๋ฑ์ ์ค์ ํ ๋ ๊ณ ์ ๊ฐ์ผ๋ก ์ค์ ํ๋ ๊ฑธ ์ฃผ์ํด์ผํ๋๋ฐ, ๊ธฐ์ค์ด ๋ ๋ฐ์ดํฐ๊ฐ ์ด๋ป๊ฒ ๋ณํ ์ง ๋ชจ๋ฅด๊ธฐ ๋๋ฌธ์ด๋ค.
<a href="#" class="comment">
<img src="./icon_info.png" alt="comment_icon" />
<span>8</span>
</a>
๋ค์๊ณผ ๊ฐ์ ๋ ์ด์์์ด ์์ ๋ ์ซ์์ ์์น๊ฐ ๊ณ ์ ๊ฐ์ผ๋ก ์ค์ ๋๋ค๋ฉด ์ซ์๊ฐ ๋ฌด์ํ ์ปค์ ธ ์์ผ๋ก ๋์ด์ก์ ๊ฒฝ์ฐ๋ฅผ ๋์ฒํ์ง ๋ชปํ๋ค.
์ ๋ต์ ์ ํด์ง ๊ฒ ์์ง๋ง ๋ค์ํ ๊ธฐ๋ฒ์ ์ด์ฉํด ์ด๋ฐ ๊ฒฝ์ฐ๋ฅผ ๊ณ ๋ คํด์ผํ๋ค.