1. position ์์ฑ
๐ฅ ๋ฐฐ์น ๋ฐฉ๋ฒ์ ์ง์ ํ๋ ์์ฑ
๐ฅ ๊ฐ ์์์ ์์น๋ฅผ ์ ํ๋ ๋ฐฉ๋ฒ
์๋ ์์น ์ขํ : ํ๊ทธ ์์๋ฅผ ์ ๋ ฅํ ์์๋ฅผ ํตํด ์๋์ ์ผ๋ก ์์น๋ฅผ ์ง์
์ ๋ ์์น ์ขํ : ํ๊ทธ ์์๋ก ๋ง๋ค์ด์ง x์ขํ์ y์ขํ๋ฅผ ์ค์ ํด ์ ๋ ์์น๋ฅผ ์ง์
๐ก ํจ๊ป ์ ์ฉ๊ฐ๋ฅํ ์์ฑ
top - y์ถ ์๋จ๊ธฐ์ค
bottom - y์ถ ํ๋จ๊ธฐ์ค
left - x์ถ ์ข์ธก๊ธฐ์ค
right - x์ถ ์ฐ์ธก๊ธฐ์ค
z-index - ์์์ ์์ ์์๋ฅผ ์ ์. ๊ฐ์ด ํด ์๋ก ์์ชฝ์ ๋ฐฐ์น ๋๋ค.
์ข ๋ฅ | ์ค๋ช |
static | ๋ฌธ์์ ํ๋ฆ(์์์ ์๋๋ก ์์๋๋ก ๋ฐฐ์น)์ ๋ง์ถฐ ๋ฐฐ์น. ๊ธฐ๋ณธ๊ฐ. |
relative | ์๋ ์ขํ์ ํจ๊ป ์์น๋ฅผ ์ง์ (์๋์์น ์ง์ ๋ฐฉ์) ํ๊ทธ๊ฐ ๋ง๋ค์ด์ง ์์๋๋ก ๋์ด |
absolute | ์ ๋ ์์น ์ขํ๋ฅผ ์ค์ . ๋ถ๋ชจ ๋ฐ์ค ๊ธฐ์ค์ผ๋ก ์ขํ๋ฅผ ์ค์ ๋จ, ๋ถ๋ชจ ์์๊ฐ static์ผ ๊ฒฝ์ฐ ๋ถ๋ชจ ์์๋ก ์ธ์ํ์ง ์์ |
fixed | ๊ณ ์ ๋ ์ํ๋ก ์์น๊ฐ ์ง์ |
static
์์น์ง์ ๋ถ๊ฐ ) top, left, right, bottom์ ์ํฅ์ ๋ฐ์ง ์์
<head>
<style>
* {
margin: 0;
padding: 0;
}
div {
width: 300px;
height: 300px;
border: 4px solid black;
margin-left: 30px;
font-size: 30px;
line-height: 300px;
text-align: center;
}
</style>
</head>
<body>
<div>static-1</div>
<div>static-2</div>
<div>static-3</div>
</body>
<head>
<style>
* {
margin: 0;
padding: 0;
}
div {
width: 300px;
height: 300px;
border: 4px solid black;
margin-left: 30px;
font-size: 30px;
line-height: 300px;
text-align: center;
/* position ์์ฑ์ ์ง์ ํ์ง ์์ ์ํ : static */
left: 100px; /* ์ขํ ์ธ์์ด ์๋จ */
top: 100px; /* ์ขํ ์ธ์์ด ์๋จ */
}
</style>
</head>
<body>
<div>static-1</div>
<div>static-2</div>
<div>static-3</div>
</body>
relative
์์น์ง์ ๊ฐ๋ฅ) ๋ถ๋ชจ๋ฐ์ค์ ์ญํ ๋ก ์ฃผ๋ก ์ฌ์ฉ
<head>
<style>
* {
margin: 0;
padding: 0;
}
div {
width: 300px;
height: 300px;
border: 4px solid black;
margin-left: 30px;
font-size: 30px;
line-height: 300px;
text-align: center;
position : relative; /* ์๋์ขํ */
top : 100px;
left : 100px;
}
</style>
</head>
<body>
<div>relative-1</div>
<div>relative-2</div>
<div>relative-3</div>
</body>
absolute
html ํ๋ฉด(x, y)์ ๊ธฐ์ค์ผ๋ก ์์น๊ฐ ์ง์ .
๋ง๋ค์ด์ง ์์๋๋ก ์์ชฝ์ ๋ฐฐ์น (์์น์ง์ ๊ฐ๋ฅ) top, left, right, bottom์ ์ํฅ์ ๋ฐ์.
๊ธฐ์ค์ด ๋๋ ์์น๋ ๊ฐ์ฅ ๊ฐ๊น์ด ๋ถ๋ชจ ์์๋ ์กฐ์ ์์ ์ค position ์์ฑ์ด relative์ธ ์์
absolute๋ฅผ ์ฌ์ฉํ๋ ค๋ฉด ๊ทธ ์์๋ฅผ ๊ฐ์ธ๋ <div>๋ฅผ ๋ง๋ค๊ณ position ์์ฑ์ relative๋ก ์ง์ ํด ๋๊ณ ์ฌ์ฉํด์ผ ํจ
<head>
<style>
* {
margin: 0;
padding: 0;
}
.movie { /* ๋ถ๋ชจ ์์ */
width: 700px;
height: 500px;
border: 2px solid gray;
background-color: darkslateblue;
position: relative; /* ์๋ ์ขํ */
}
/* ์์ ์์ */
/* ๋ฒํผ */
.movie div {
width: 120px;
height: 120px;
border: none;
border-radius: 120px;
background-color: antiquewhite;
text-align: center;
line-height: 120px;
font-size: 30px;
position: absolute;
}
.prev {
top: 50%; /* top์ผ๋ก์ ์์น */
left: 10px; /* left๋ก์ ์์น */
margin-top: -60px; /* ๋ฐ์ง๋ฆ ๊ฐ๋งํผ ๋นผ์ค์ผ ์ค์ ์ ๋ ฌ์ด ๋จ */
}
.play {
top: calc(50% - 60px);
left: calc(50% - 60px);
}
.next {
top: calc(50% - 60px);
right: 10px;
}
</style>
</head>
<body>
<!--๋ถ๋ชจ ์์ relative -->
<div class="movie">
<!--์์ ์์ absollute -->
<div class="prev">PREV</div>
<div class="play">โถ</div>
<div class="next">NEXT</div>
</div>
</body>
fixed
์คํฌ๋กค๊ณผ ์๊ด์์ด htmlํ๋ฉด๊ธฐ์ค ์ข์ธก์๋จ์ ๊ธฐ์ค์ผ๋ก ์ขํ๊ณ ์
top,left, right, bottom์ ์ํฅ์ ๋ฐ์
<head>
<style>
* {
padding: 0;
margin: 0;
}
body {
height: 3000px; /* ์คํฌ๋กค ๋ฐ๋ฅผ ๋ํ๋ด๊ธฐ ์ํด ๋ฌธ์์ ๋์ด๋ฅผ ์์์ ํฌ๊ธฐ๋ก ์ง์ */
}
div {
width: 300px;
height: 300px;
border: 4px solid black;
margin-left: 30px;
font-size: 30px;
line-height: 300px;
text-align: center;
}
div:nth-of-type(1) { /* div ๋ฐ์ค ์ค์์ ์ฒซ ๋ฒ์งธ ๋ฐ์ค */
background-color: red;
left: 100px; /* ์ผ์ชฝ ์ขํ */
top: 100px; /* ์๋จ ์ขํ */
position: absolute;
}
div:nth-of-type(2) { /* div ๋ฐ์ค ์ค์์ ๋ ๋ฒ์งธ ๋ฐ์ค */
background-color: orangered;
right: 100px; /* ์ค๋ฅธ์ชฝ ์ขํ */
bottom: 100px; /* ํ๋จ ์ขํ */
position: fixed;
}
</style>
</head>
<body>
<div>absolute</div>
<div>fixed</div>
</body>
z-index
<head>
<style>
* {
padding: 0;
margin: 0;
}
div {
width: 300px;
height: 300px;
margin-left: 30px;
font-size: 30px;
line-height: 300px;
text-align: center;
position: absolute; /* ์ ๋ ์ขํ */
}
div:nth-of-type(1) { /* div ๋ฐ์ค ์ค์์ ์ฒซ ๋ฒ์งธ ๋ฐ์ค */
background-color: indianred;
left: 100px; /* ์ผ์ชฝ ์ขํ */
top: 100px; /* ์๋จ ์ขํ */
z-index: 5;
}
div:nth-of-type(2) { /* div ๋ฐ์ค ์ค์์ ๋ ๋ฒ์งธ ๋ฐ์ค */
background-color: lightgoldenrodyellow;
left: 250px; /* ์ผ์ชฝ ์ขํ */
top: 250px; /* ์๋จ ์ขํ */
z-index: 3; /* ์ฐ์ ์์ ๋ณ๊ฒฝ */
}
div:nth-of-type(3) { /* div ๋ฐ์ค ์ค์์ ์ธ ๋ฒ์งธ ๋ฐ์ค */
background-color: teal;
left: 400px; /* ์ผ์ชฝ ์ขํ */
top: 400px; /* ์๋จ ์ขํ */
}
</style>
</head>
<body>
<div>box-1</div>
<div>box-2</div>
<div>box-3</div>
</body>
[ ๋ด์ฉ ์ฐธ๊ณ : IT ํ์ ๊ฐ์ ๋ฐ ์ฑ 'Do it HTML+CSS+์๋ฐ์คํฌ๋ฆฝํธ ์น ํ์ค์ ์ ์' ]