๐์์น ์ ์
์ด ์์ฑ ์์ฒด๋ก๋ ๋ฑํ ์ด๋ ์์น๋ก ์ด๋ ํ์ง๋ ์๊ณ ,
์์น ์ด๋ ์์ผ์ฃผ๋ ๋ฐ์ 4๊ฐ๊ฐ ๊ฐ์ด ์ฐ์ฌ์ผ ํจ
top
(๊ธฐ์ค ์์ชฝ ๋์์์ ๊ฑฐ๋ฆฌ(์ฌ์ด ๊ธธ์ด)
) (์์๋ก ์จ์ผ ์๋ก ์ฌ๋ผ๊ฐ๋ค. ๊ธฐ์ค ์์์ ๊ฑฐ๋ฆฌ์ด๊ธฐ ๋๋ฌธ)
right
(๊ธฐ์ค ์ค๋ฅธ์ชฝ ๋์์์ ๊ฑฐ๋ฆฌ
)
bottom
(๊ธฐ์ค ์๋ซ์ชฝ ๋์์์ ๊ฑฐ๋ฆฌ
)
left
(๊ธฐ์ค ์ผ์ชฝ ๋์์์ ๊ฑฐ๋ฆฌ
)
๊ฐ ์์ด์ผ ํ๋ค.
static
(๊ธฐ์ค ์์
);relative
; (์์ ์์ ์ ๊ธฐ์ค
์ผ๋ก ๋ฐฐ์น)absolute
; (๋ถ๋ชจ ์์๋ฅผ ๊ธฐ์ค
์ผ๋ก ๋ฐฐ์น)fixed
; (๋ทฐํฌํธ๋ฅผ ๊ธฐ์ค
์ผ๋ก ๋ฐฐ์น)4๊ฐ๊ฐ ์๋๋ฐ static์ ๊ฑฐ์ ์ฌ์ฉ ์ํ๋ค.
์์ ์์ ์ ๊ธฐ์ค์ผ๋ก ๋ฐฐ์น
html
<div class="grand-parent">
<div class="parent">
<div class="child">1</div>
<div class="child relative">2</div>
<div class="child">3</div>
</div>
</div>
css
.relative {
position: relative;
left: 100px;
top: 5px;
๋จผ์ ์๊ธฐ ์์ ๋ง relative๊ฑด๋ค.
๊ทธ๋ฆฌ๊ณ ์๋ ์๊ธฐ๊ฐ ์์ด์ผ ํ ์๋ฆฌ ๊ธฐ์ค
์ผ๋ก
์ผ์ชฝ์ผ๋ก 100๋งํผ ๊ฑฐ๋ฆฌ๋๊ณ
์์์ 5๋งํผ ๊ฑฐ๋ฆฌ ๋๊ฒ ๊ฐ ์ค์ ํ๋ค.(์๋๋ก ๊ฐ)
๋ถ๋ชจ ์์๋ฅผ ๊ธฐ์ค์ผ๋ก ๋ฐฐ์น
๋ถ๋ชจ ์ค์ position์ด relative, fixed, absolute ํ๋๋ผ๋ ์์ผ๋ฉด
๊ทธ ๋ถ๋ชจ์ ๋ํด ์ ๋์ ์ผ๋ก ์์ง์ผ์ ์๊ฒ ๋จ.
absolute๋ฅผ ์ธ ๊ฒฝ์ฐ, ์ผ๋ฐ์ ์ผ๋ก ๊ธฐ์ค์ด ๋ ๋ถ๋ชจ์๊ฒ position: relative;
๋ฅผ ๋ถ์ฌํ๋ค.
์ด๋ค ๋ถ๋ชจ๋ฅผ ๊ธฐ์ค์ ์ผ๋ก ์ผ์ ์ง๊ฐ ์ค์ํ๋ค.
1.
parent
๋ฅผ ๊ธฐ์ค์ผ๋ก ์ผ์ ๋
2.grandparent
๋ฅผ ๊ธฐ์ค์ผ๋ก ์ผ์ ๋
3. ๋ถ๋ชจ๊ฐ ๋ค ๋ค์ ธ๋ด๋ ๊ธฐ์ค์ด ์์ ๋ (๊ทธ๋ฅ ์ฐ๋๋ฐ ๋ทฐํฌํธ ์ฒ๋ผ ๋๋ค)
1๋ฒ
.parent{
/* ๋ค๋ฅธ ์ฝ๋ */
position : relative;
}
.absolute {
/* ๋ค๋ฅธ์ฝ๋ */
position: absolute;
bottom: 5px;
right: 5px;
}
2๋ฒ
.grand-parent{
/* ๋ค๋ฅธ ์ฝ๋ */
position : relative;
}
.absolute {
/* ๋ค๋ฅธ์ฝ๋ */
position: absolute;
bottom: 0px;
right: 0px;
}
์์ชฝ ๋ถ๋ชจ(parent)(๊น๋ง์ ) ๊ธฐ์ค์ผ๋ก ๋ฐ, ์ค๋ฅธ์ชฝ์ผ๋ก 0๋งํผ ๊ฑฐ๋ฆฌ๋๊ณ ๋ฐฐ์น
์ ์ฒ๋ผ grand-parent ๋ถ๋ชจ ๊ธฐ์ค์ผ๋ก bottom, right ์ผ๋ก ๊ฑฐ๋ฆฌ ๋งํผ ๋๊ณ ๋ฐฐ์น
3๋ฒ์ ์๊ธฐํํ ๋ง absolute ๊ฑธ๋ฉด ๋๋ค.
๋ทฐํฌํธ ๊ธฐ์ค์ผ๋ก ๋ฐฐ์น
๊ทธ๋ฅ fixed ๊ฑธ๋ฉด ๋จ
๋ถ๋ชจ ์ํฅ ๋ฐ์ง ์๊ณ ํ๋ฉด ๊ธฐ์ค์ผ๋ก ์ค๋ฅธ์ชฝ ์๋์ ์๋ค.
.fixed {
position: fixed;
bottom: 30px;
right: 30px;
}