๋ชฉ์ฐจ
์ ๋ฒ์ ๋ค๋ฃจ์๋ position ์์ฑ์ ์ด์ด์ ์ด์ผ๊ธฐ ํด๋ณด์!
๊ฐ๋จํ ๋ณต์ตํด๋ณด๋ฉด
๋ถ๋ชจ์์์ position: relative, ์์์์์ position: absolute๋ฅผ ์ ์ฉํด์ฃผ์ด์ผ ํ๋ค.
๋ํ ์ถ๊ฐ์ ์ผ๋ก
html์์ผ๋ก๋ ๋ถ๋ชจ-์์ ๊ด๊ณ์ด์ด์ผ๋ง position์ด ์ ์ฉ์ด ๋๋ค!
๊ทธ ์ดํ์ top, bottom, left, right๋ฅผ ์ด์ฉํด ์ ํ ์ข ์ฐ์ ๋ฐฐ์น๋ฅผ ํ ์ ์๋ค.
๊ฐ๊ฐ์ ๊ธฐ์ค์ ์ ๋ค์๊ณผ ๊ฐ๋ค!
px, % ๋ฑ์ผ๋ก ๊ฐ์ ๋ฃ์ด์ฃผ์ด๋ ๋๋ค.
<div class="parent">
<div class="child"></div>
</div>
.parent {
position: relative;
width: 500px;
height: 500px;
border: 1px solid #000;
}
.child {
position: absolute;
background-color: steelblue;
width: 100px;
height: 100px;
top:50%;
}
50%๋ก ๊ฐ์ผ๋ก ๋ฃ์ด์ฃผ์๋ค.
์ ๊ฒฐ๊ณผ๋ฅผ ํตํด์ ์์์์์ ์์ชฝ ๋ชจ์๋ฆฌ๊ฐ top์์์ ๊ธฐ์ค์ธ ๊ฒ์ ์ ์ ์๋ค.
.child {
position: absolute;
background-color: steelblue;
width: 100px;
height: 100px;
bottom:50%;
}
bottom์์ฑ์ ์๋ ๋ชจ์๋ฆฌ๊ฐ ๊ธฐ์ค์ด์๋ค.
left, right๋ ๋ง์ฐฌ๊ฐ์ง๋ก ๊ฐ๊ฐ ์ผ์ชฝ, ์ค๋ฅธ์ชฝ ๋ชจ์๋ฆฌ๊ฐ ๊ธฐ์ค์ด๋ค.
์์๋ฅผ ์ ๊ฐ์ด๋ฐ๋ก ๋ฐฐ์นํ๊ณ ์ถ์ ๋๋ ์ด๋ป๊ฒ ์ ์ฉ์ ํด์ผํ ๊น?
.child {
position: absolute;
background-color: steelblue;
width: 100px;
height: 100px;
top: 50%;
left: 50%;
}
๋น์ค๋ฌด๋ฆฌํ๊ฒ ๊ฐ์ด๋ฐ๋ก ์์ง๋ง top, left์ ์์ฑ์ผ๋ก ์ธํด์
์์์์์ ์ผ์ชฝ ์๋จ ๊ผญ์ง์ ์ด ๊ฐ์ด๋ฐ๋ก ์์นํด ์๋ ์ํ์ด๋ค.
์ด๋ฅผ ํด๊ฒฐํ๊ธฐ ์ํด์
transform: translate๋ฅผ ์ด์ฉํ๋ฉด ๋๋ค.
ํํ ์ขํ๊ณ ๊ทธ๋๋ก ์๊ฐ์ ํ๋ฉด ๋๊ณ ,
๊ธฐ์ค์ ์ข์ธก, ์๋จ์ ๊ผญ์ง์ ์ด๋ค!
์ ์ฉ์ ํ ์์๊ฐ ๊ฐ์ ๋ฐ๋ผ ์กฐ์ ์ด ๋๋ค.
.child {
position: absolute;
background-color: steelblue;
width: 100px;
height: 100px;
top: 50%;
left: 50%;
transform: translate(-50%, -50%);
}
-50%๋ฅผ ๊ฐ๊ฐ ์ ์ฉํด์ ์๊ธฐ ์์ ์ ์ ๋ฐ๋งํผ ์ด๋์ ์์ผ์ฃผ์๋ค.
์ด๋ ๊ฒ ์กฐ์ ์ ํด์ ์ ๊ฐ์ด๋ฐ๋ก ๋ฐฐ์น๋ฅผ ํ ์ ์๋ค!
๋ง์ฝ ๋ธ๋ผ์ฐ์ ์์ฒด์ ์ ์ค์์ ์์น ์ํค๊ณ ์ถ๋ค๋ฉด
๋ถ๋ชจ์์์ relative๋ฅผ ์ ์ฉํ์ง ์์ผ๋ฉด ๋๋ค.
'๐ | WEB DEV > HTML CSS' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
CSS ๊ฐ์ํด๋์ค (1)_๋ง์ฐ์ค ์ค๋ฒ ํจ๊ณผ(hover, transition) (0) | 2022.01.07 |
---|---|
CSS ํฌ์ง์ (3)_์ํ๋ ์์น์ ๋ฑ ๋ฐฐ์นํ๊ธฐ! (0) | 2022.01.06 |
CSS ํฌ์ง์ (1)_๋ถ๋ชจ์์ ์์์์ (0) | 2022.01.05 |
HTML ์๋ฉํฑ ํ๊ทธ (๋ ์ด์์ ์ค๊ณ) (0) | 2022.01.05 |
CSS ๊ธฐ๋ณธ (6)_ํฌ์ง์ ๋(float, overflow, clear) (0) | 2022.01.05 |
๋๊ธ