static, relative, absolute, fixed, sticky ๊ฐ ์์ต๋๋ค.
static
- ๊ธฐ๋ณธ ์ํ์ด๋ฉฐ, ์ฐจ๋ก๋๋ก
์ผ์ชฝ → ์ค๋ฅธ์ชฝ
,์ → ์๋
์์น ํฉ๋๋ค.
<section>
<div></div>
<div class = "box"></div>
<div></div>
<div></div>
<div></div>
</section>
body{
margin: 0;
}
div{
width : 50px;
height : 50px;
margin-bottom : 20px;
background : red;
}
section{
background : yellow;
}
.box{
background-color : blue;
}
- position์ ์ง์ ํ์ง ์์ผ๋ฉด ์์ ๊ฐ์ด ์์์ ์๋๋ก(div๋ block์์) ๋ํ๋ฉ๋๋ค.
relative
- ๊ธฐ์กด static์ด์์ ๋ ์์น๋ฅผ ๊ธฐ์ค์ผ๋ก
top
,right
,bottom
,left
์์ฑ์ ์ฌ์ฉํด ์์น ์กฐ์ ์ด ๊ฐ๋ฅ ํฉ๋๋ค. - ์๋ ๊ทธ๋ฆผ์์
section
ํ๊ทธ์position : relative
์์ฑ์ ์ฃผ๊ณ ๋ณํ๋ฅผ ๋ณด๊ฒ ์ต๋๋ค.
section{
background : yellow;
position: relative;
left: 50px;
top: 50px;
}
- ์์ ๊ฐ์ด ์๋ ๋ณธ์ธ ์์น์์
top
,left
๊ฐ ๋งํผ ์ด๋ ํ์์ต๋๋ค.
absolute
- position์ด static์์ฑ์ ๊ฐ์ง๊ณ ์์ง ์์ ๋ถ๋ชจ๋ฅผ ๊ธฐ์ค์ผ๋ก ์ด๋ ํฉ๋๋ค. ๋ง์ฝ ๋ถ๋ชจ ์ค์ ํฌ์ง์ ์ด relative, absolute, fixed์ธ ํ๊ทธ๊ฐ ์๋ค๋ฉด ๊ฐ์ฅ ์์ ํ๊ทธ(body)๊ฐ ๊ธฐ์ค์ด ๋ฉ๋๋ค.
- HTML ์ฝ๋๋ ์ฒซ ๋ฒ์งธ ์์์ ๋์ผํ๊ณ CSS ์ฝ๋๋ง ๋น๊ต ํ๊ฒ ์ต๋๋ค.
body{
margin: 0;
}
div{
width : 50px;
height : 50px;
margin-bottom : 20px;
background : red;
}
section{
background : yellow;
position: relative;
left: 50px;
top: 50px;
}
.box{
background-color : blue;
position: absolute;
left: 50px;
top: 50px;
}
- ํ๋์ ๋ฐ์ค๊ฐ ์์ ์ ์์น์์ ๋ฒ์ด๋ ๋ ธ๋์ ๋ฐ์ค ์์ญ์ ๊ธฐ์ค์ผ๋ก ์ด๋ ํ์์ต๋๋ค.
fixed
- ํ๊ทธ์ ๋ณธ๋ ์์น์์ ์ ๊ฑฐ๋๊ณ
๋ทฐ ํฌํธ
๋ฅผ ๊ธฐ์ค์ผ๋ก ์ง์ ๋ ํน์ ์์น์ ๊ณ ์ ๋ฉ๋๋ค.
section{
background : yellow;
position: relative;
left: 50px;
top: 50px;
}
.box{
background-color : blue;
position: fixed;
top: 20px;
left: 10px;
}
sticky
- ์๋ ๋ณธ์ธ์ ์๋ฆฌ์ ์์น๋ฅผ ํ๊ณ , ์คํฌ๋กค๋ง ํ์ฌ ์ง์ ๋ ์๊ณ๊ฐ์ ๋์ผ๋ฉด fixed๋ก ์ฒ๋ฆฌ๊ฐ ๋ฉ๋๋ค.
top
,left
์ ๊ฐ์ ์์น๊ฐ์ ๋ฐ๋์ ์์ฑํด์ค์ผ sticky ์์ฑ์ ์ ์ฉํ ์ ์์ต๋๋ค.
.box{
background-color : blue;
position: sticky;
top: 10px;
left: 70px;
}
์ฐธ๊ณ
'๐ Front-End > CSS' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
Flex (0) | 2022.10.20 |
---|---|
Grid (0) | 2022.10.20 |
display ์์ฑ (0) | 2022.10.19 |
Box Model & box-sizing (0) | 2022.10.19 |
id & class (0) | 2022.10.19 |