let's get IT with DAVINA ๐ป
Position ๋ณธ๋ฌธ
Position
- ๋ฌธ์ ์์ ์์๋ฅผ ๋ฐฐ์นํ๋ ๋ฐฉ๋ฒ์ ์ง์ ํ๋ค.
- top, right, bottom, left ์์ฑ์ ํตํด ์์์ ์ต์ข ์์น๋ฅผ ๊ฒฐ์ ํ๋ค.
- ์ฌ์ฉ๋ฒ
- ๊ธฐ์ค์ ์ก๋๋ค. (ex. position: relative;)
- ์ด๋์ํจ๋ค. (ex. top: 50px;)
block : ํ ์ค ๋ชจ๋ ์ฐจ์ง (๋ํ element - <div>, <p> )
inline : ์ฝํ ์ธ ํฌ๊ธฐ ๋งํผ๋ง ์ฐจ์ง (๋ํ element - <span>)
๊ฐ ์๋ฏธ
static | ๊ธฐ์ค ์์ (๋ฐฐ์น ๋ถ๊ฐ๋ฅ / ๊ธฐ๋ณธ๊ฐ) |
relative | ์์ ์๊ธฐ ์์ ์ ๊ธฐ์ค์ผ๋ก ๋ฐฐ์น |
absolute | ๋ถ๋ชจ(์กฐ์) ์์๋ฅผ ๊ธฐ์ค์ผ๋ก ๋ฐฐ์น |
fixed | ๋ทฐํฌํธ ๊ธฐ์ค์ผ๋ก ๋ฐฐ์น |
stickey | ์คํฌ๋กค ์์ญ ๊ธฐ์ค์ผ๋ก ๋ฐฐ์น |
Relative
์์๋ฅผ ์ผ๋ฐ์ ์ธ ๋ฌธ์ ํ๋ฆ์ ๋ฐ๋ผ ๋ฐฐ์นํ๋ค.
์์ ์๊ธฐ ์์ ์ ์๋ ์์น(static์ผ ๋์ ์์น)๋ฅผ ๊ธฐ์ค์ผ๋ก ๋ฐฐ์นํ๋ค.
- ์๋ ์์น๋ฅผ ๊ธฐ์ค์ผ๋ก ์์ชฝ(top), ์๋์ชฝ(bottom), ์ผ์ชฝ(left), ์ค๋ฅธ์ชฝ(right)์์ ์ผ๋ง๋งํผ ๋จ์ด์ง ์ง ๊ฒฐ์ ํ๋ค.
- ์์น๋ฅผ ์ด๋ํ๋ฉด์ ๋ค๋ฅธ ์์์ ์ํฅ์ ์ฃผ์ง ์๋๋ค.
- ๋ฌธ์ ์ ์๋ ์์น๊ฐ ๊ทธ๋๋ก ์ ์ง๋๋ค.
div#a {
background: #52D4FF;
position: static;
}
div#b {
background: #FF63EA;
position: relative;
top: 0px;
left: 100px;
}
div#c {
background: #C5FF63;
position: relative;
top: 0px;
left: 200px;
}
Absolute
์์๋ฅผ ์ผ๋ฐ์ ์ธ ๋ฌธ์ ํ๋ฆ์์ ์ ๊ฑฐํ๋ค.
๊ฐ์ฅ ๊ฐ๊น์ด ์์น์ ์๋ ์กฐ์ ์์๋ฅผ ๊ธฐ์ค์ผ๋ก ๋ฐฐ์นํ๋ค.
- ์กฐ์ ์์ ์์น๋ฅผ ๊ธฐ์ค์ผ๋ก ์์ชฝ(top), ์๋์ชฝ(bottom), ์ผ์ชฝ(left), ์ค๋ฅธ์ชฝ(right)์์ ์ผ๋ง๋งํผ ๋จ์ด์ง ์ง ๊ฒฐ์ ํ๋ค.
- ์กฐ์ ์ค Position์ ๊ฐ์ง ์์๊ฐ ์๋ค๋ฉด ์ด๊ธฐ ์ปจํ ์ด๋ ๋ธ๋ก(<body>์์)๋ฅผ ๊ธฐ์ค์ผ๋ก ์ผ๋๋ค. (static์ ์ ์ธํ ๊ฐ)
- ๋ฌธ์ ์ ์๋ ์์น๋ฅผ ์์ด๋ฒ๋ฆฐ๋ค. (์๋์ ์๋ div๊ฐ ํด๋น ์๋ฆฌ๋ฅผ ์ฐจ์งํ๋ค)
div#a {
background: #52D4FF;
position: static;
}
div#b {
background: #FF63EA;
position: absolute;
top: 0px;
left: 100px;
}
div#c {
background: #C5FF63;
position: absolute;
top: 0px;
left: 200px;
}
๋ถ๋ชจ relative & ์์ absolute
Parent์๊ฒ Position ๊ฐ์ด ์๋ ๊ฒฝ์ฐ?
- Parent์ ์์น๋ฅผ ๊ธฐ์ค์ผ๋ก ์ผ๋๋ค.
Grandparent์๊ฒ Position ๊ฐ์ด ์๋ ๊ฒฝ์ฐ?
- ํ ๋จ๊ณ ์ฌ๋ผ๊ฐ์ GrandParent์ Postion๊ฐ์ ์ฐพ์์ ๊ธฐ์ค์ ์ผ๋ก ์ผ๋๋ค.
๋ถ๋ชจ, ์กฐ์ ์ ๋ถ ๋ค์ ธ๋ด๋ Position ๊ฐ์ด ์๋ ๊ฒฝ์ฐ? (Parent, GrandParent, <body>ํ๊ทธ, <html>ํ๊ทธ๊น์ง )
- window ๊ฐ์ฒด์ viewport๋ฅผ ๊ธฐ์ค์ ์ผ๋ก์ผ๋๋ค. (DOM : Document Object Model)
Fixed
๋ทฐํฌํธ๋ฅผ ๊ธฐ์ค์ผ๋ก ์ผ๊ณ ์ถ์ ๊ฒฝ์ฐ?
absolute๋ฅผ ์ฌ์ฉํด์ ๋๊ฐ์ด ๊ตฌํํ ์ ์์ง๋ง, absolute๋ ์กฐ์ ์์์ ์์น๋ฅผ ๊ธฐ์ค์ ์ผ๋ก ์ผ๋ ๊ฐ๋ ์ด๋ฏ๋ก, ๋ทฐํฌํธ๋ฅผ ๊ธฐ์ค์ผ์ ์ผ๋ก ์ผ์ผ๋ ค๋ฉด fixed๋ฅผ ์ฌ์ฉํ๋ค.
- ์์๋ฅผ ์ผ๋ฐ์ ์ธ ๋ฌธ์ ํ๋ฆ์์ ์ ๊ฑฐํ๋ค. ํ์ด์ง ๋ ์ด์์์ ์ด๋ ํ ๊ณต๊ฐ๋ ๋ฐฐ์ ํ์ง ์๋๋ค.
- ๋ทฐํฌํธ๋ฅผ ๊ธฐ์ค์ ์ผ๋ก ๋ถ์ด์๋ค (== ํ๋ฉด์ ๋ถ์ด์๋ค.)
'DEV_IN > CSS' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
div์ img ๋ฃ๊ธฐ (props) (0) | 2023.02.09 |
---|---|
๊ธ์ ์ ์ด๊ณผ์? (0) | 2023.02.09 |
GMT/UTC time ํ์ โ2023-02-02โ format์ผ๋ก change (0) | 2023.02.08 |
react-datepicker (2) | 2023.02.08 |
React-Styled Components (0) | 2023.02.08 |