.red-box {
background-color: red;
position: relative;
left: 200px;
}
.green-box { /*๋นจ๊ฐ์๋ฐ์ค ๋ค์ ์์น*/
background-color: green;
position: relative;
left: 50px;
top: 50px;
}
.blue-box { /*์ด๋ก์๋ฐ์ค ๋ค์ ์์น*/
background-color: blue;
position: relative;
bottom: 200px;
}
<div class="box red-box"></div>
<div class="box green-box"></div>
<div class="box blue-box"></div>
<h1>์ ํ
์คํธ ์์์์น ํ์ธ</h1> /*ํ๋์๋ฐ์ค ์ค์ ์์น ๋ค์์ ์์น!*/
=> ๐ป
=> ๊ทธ๋๊น relative๋ ๊ฐ๊ฐ ๋ฐ์ค ์ค์ ์์น๋ถํฐ ์์! ๊ทธ๋ฌ๋๊น ํ ์คํธ๋ ํ๋์๋ฐ์ค ๋ค์์ ๋์ค๋๊ฑฐ๊ณ
.box {
width: 200px; /*์ค์ ์์น*/
height: 200px; /*์ค์ ์์น*/
border: 1px solid black;
}
.red-box {
background-color: red;
position: relative;
left: 200px;
}
.green-box {
background-color: green;
position: absolute; /*๋นจ๊ฐ์๋ฐ์ค ์์์์น๋ถํฐ ์์๋จ ์๋ฐ๋ผ ์์์๋๊ฑฐ ๋ฌด์..*/
left: 50px;
top: 50px;
}
.blue-box { /**/
background-color: blue;
position: absolute; /*์ด๋ก์๋ฐ์ค๋ ๋ฌด์ํ๊ณ ๋นจ๊ฐ์๋ฐ์ค ์์์์น๋ถํฐ ๋์์ผํ๋๊ฒ๋ง๋๋ฐ absolute๋ ์๋ฐ๋ค๋ผ๋ฆฌ ์ธ์ํ๊ธฐ๋๋ฌธ์ ์ด๋ก์๋ฐ์ค ์์์์น ๋ค์์ ๋์จ๋ค*/
/* bottom: 200px; */
}
<div class="box red-box"></div>
<div class="box green-box"></div>
<div class="box blue-box"></div>
<h1>์ ํ
์คํธ ์์์์น ํ์ธ</h1> <!--๋นจ๊ฐ์๋ฐ์ค ์ค์ ์์น ๋ค์์ ๊ธ์๊ฐ ์์นํ๋๊ฒ!-->
=> ๐ป
=> ์ด๋ก์๋ฐ์ค๊ฐ absolute : ์์ ์๋ ๋นจ๊ฐ์๋ฐ์ค ๋ฌด์ํ๊ณ ๋นจ๊ฐ์๋ฐ์ค ์ค์ ์์น์์ left 50 top 50 ์์น๋งํผ ๊ฐ๋ค
ํ๋์๋ฐ์ค๋ absolute : ์์ ์๋ ๋นจ๊ฐ์,์ด๋ก์๋ฐ์ค ๋ฌด์ํด์ผํ๋๋ฐ ์ด๋ก์๋ฐ์ค๋ absolute์ผ! ์๋ฐ๋ ์๋ฐ๋ผ๋ฆฌ ์ธ์ํ๋ค ๊ทธ๋์ ์ด๋ก์๋ฐ์ค ์์์์น ๋ค์์ ์์น!
ํ
์คํธ๋ ์์ ์ด๋ก์,ํ๋์๋ฐ์ค๊ฐ absolute ์๋ฐ๋๊น ๋ฌด์ํ๊ณ ๋นจ๊ฐ์๋ฐ์ค ์ค์ ์์น ๋ค์์ ์์นํ๋๊ฒ!
๐absolute : ์์ ๋ฐ์ค ๋ฌด์ํ๊ณ ๊ทธ ์๋ฆฌ์ ๋ค์ด๊ฐ
absolute ๋ค์ ๋ฐ์ค : absolute๋ฐ์ค ๋ฌด์ํ๊ณ absolute ์์ ๋ฐ์ค ๋ค์์ ์์น!
absolute๋ absolute๋ผ๋ฆฌ ์ธ์ํ๊ณ ์์ ์งํจ๋ค
.box {
width: 200px; /*์ค์ ์์น*/
height: 200px; /*์ค์ ์์น*/
border: 1px solid black;
}
.red-box {
background-color: red;
position: fixed; /*ํ๋ฆ๋ฌด์ + ์คํฌ๋กค๋ด๋ ค๋ ์ ์์น์ ๊ณ์ ์์*/
left: 100px;
}
.green-box {
background-color: green;
position: fixed;
left: 50px;
top: 50px;
}
.blue-box {
background-color: blue;
position: relative;
/* bottom: 200px; */
}
<div class="box red-box"></div>
<div class="box green-box"></div>
<div class="box blue-box"></div>
<h1>์ ํ
์คํธ ์์์์น ํ์ธ</h1> <!--ํ๋์๋ฐ์ค ๋ค์์ ๊ธ์๊ฐ ์์นํ๋๊ฒ!-->
=> ๐ป
์คํฌ๋กค๋ด๋ ค๋ ๋นจ๊ฐ์,์ด๋ก์๋ฐ์ค๋ง ๊ณ ์ ๋์ ๊ฐ์ด ๋ด๋ ค์ด
=> ์ด๋ก์๋ฐ์ค๋ ๋นจ๊ฐ์๋ฐ์ค๊ฐ fixed๋๊น ๋ฌด์ํ๊ณ ๋นจ๊ฐ์๋ฐ์ค ์์์์น๋ถํฐ ์์นํ๋ค
ํ๋์๋ฐ์ค๋ ๋นจ๊ฐ์,์ด๋ก์๋ฐ์ค๊ฐ fixed ๋๊น ๋ฌด์ํ๊ณ ๋นจ๊ฐ์๋ฐ์ค ์์์์น๋ถํฐ ๋์ค๋๊ฑฐ๊ณ
ํ
์คํธ๋ ๋นจ๊ฐ์,์ด๋ก์๋ฐ์ค๊ฐ fixed๋ผ ๋ฌด์ํ๊ณ ํ๋์๋ฐ์ค ๋ค์์ ๋์ค๋๊ฑฐ๊ณ !
๊ทธ๋ฌ๊ณ ์คํฌ๋กค ๋ด๋ ค๋ ๋นจ๊ฐ์,์ด๋ก์๋ฐ์ค๋ ๊ณ ์ ๋ ์ํ๋ก ๊ทธ์๋ฆฌ ์ ์งํ๊ณ ์๋ค!
๐ fixed : ์์ ๋ฐ์ค ๋ฌด์ํ๊ณ ๊ทธ์๋ฆฌ๋ค์ด๊ฐ
fixed ๋ค์ ๋ฐ์ค : fixed ๋ฐ์ค ๋ฌด์ํ๊ณ
fixed ์์ ๋ฐ์ค ๋ค์์ ์์น
fixed๋ fixed๋ผ๋ฆฌ ์ธ์ํ๊ณ ์์ ์งํจ๋คX?????????
=>fixed๋ ๋ค ๋ฌด์!!!!!
.box {
width: 200px; /*์ค์ ์์น*/
height: 200px; /*์ค์ ์์น*/
border: 1px solid black;
}
.red-box {
background-color: red;
position: fixed; /*์คํฌ๋กค๋ด๋ ค๋ ์ ์์น์ ๊ณ์ ์์*/
left: 400px;
bottom: 100px;
}
.green-box {
background-color: green;
position: relative;
left: 50px;
top: 50px;
}
.blue-box {
background-color: blue;
position: sticky; /*ํ๋ฆ๋๋ก + ์ด๋์์น๋ก ๊ฐ์๋ ์ผ์ ์์น๋ก ๊ฐ๋ฉด ๊ณ ์ ๋๋์ง ์ ์ด์ค์ผํจ*/
/* bottom: 200px; */
top: 30px; /*์ด๋๋ถํฐ ๊ณ ์ */
}
<div class="box red-box">
<button>์ฅ๋ฐ๊ตฌ๋</button><br>
<button>์๋ด์์ฐ๊ฒฐ</button><br>
<button>๋งจ์๋ก์ด๋</button>
</div>
<div class="box green-box"></div>
<div class="box blue-box"></div>
<h1>์ ํ
์คํธ ์์์์น ํ์ธ</h1>
=> ๐ป
์คํฌ๋กค ๋ด๋ฆฌ๋ฉด fixed์ธ ๋นจ๊ฐ์๋ฐ์ค๋ ์ฒ์๋ถํฐ ๊ณ์ ๊ณ ์ ๋์๊ณ sticky์ธ ํ๋์๋ฐ์ค๋ top: 30px; ๋ถํฐ ๊ณ ์ ๋์ ๋ด๋ ค์จ๋ค
=> ๋นจ๊ฐ์๋ฐ์ค๋ ์ฒ์๋ถํฐ ๊ณ ์ ๋์๋ ์ํ๊ณ
์ด๋ก์๋ฐ์ค๋ ๋นจ๊ฐ์๋ฐ์ค ๋ฌด์ํ๊ณ ๋นจ๊ฐ์๋ฐ์ค ๋์ฌ์๋ฆฌ์ ์์น
ํ๋์๋ฐ์ค๋ ์ด๋ก์๋ฐ์ค ์์์์น ๋ค์์ ์์นํ๊ณ
ํ
์คํธ๋ ํ๋์๋ฐ์ค ๋ค์์ ์์น!
๊ทธ๋ฆฌ๊ณ ์คํฌ๋กค๋ด๋ฆฌ๋ฉด ๋นจ๊ฐ์๋ฐ์ค๋ ์ฒ์๋ถํฐ ๊ณ ์ , ํ๋์๋ฐ์ค๋ top: 30px; ๋ถํฐ ๊ณ ์ ๋์ ๋ด๋ ค์ด!
์ซ์๊ฐ ํฐ ์ชฝ์ด ์์ผ๋ก ์จ๋ค!
.box {
width: 200px; /*์ค์ ์์น*/
height: 100px; /*์ค์ ์์น*/
border: 1px solid black;
}
.red-box {
background-color: red;
position: static;
left: 200px; /*static์ด๋ผ ์๋จน์ด*/
}
.green-box {
background-color: green;
position: static;
left: 50px; /*static์ด๋ผ ์๋จน์ด*/
top: 50px; /*static์ด๋ผ ์๋จน์ด*/
}
.blue-box {
background-color: blue;
position: static;
/* bottom: 200px; */
}
.black-box {
background-color: black;
position: absolute;
left: 50px;
top: 50px;
}
.container {
background-color: lightgray;
position: relative; /*์์์ ์ ์ํํ
์ฃผ๋ฉด ๋๋ค*/
}
<div class="box red-box"></div>
<div class="box green-box"></div>
<div class="box blue-box"></div>
<!-- <h1>์ ํ
์คํธ ์์์์น ํ์ธ</h1> -->
<div class="container">
<div class="box red-box"></div> <!--container์์์ ์์น!-->
<div class="box green-box"></div>
<div class="box blue-box"></div>
<div class="box black-box"></div>
<!-- absolute ํน์ ์์น ์ง์ ํ๊ณ ์ถ์ ๊ฒฝ์ฐ
์์์ ์ด ๋ ๋ถ๋ชจ์์์ position:relative ์ ์ฉ -->
</div>
=> ๐ป
=> absolute ์์ absolute๊ฐ ๋์ค์ง ์๋ ์ด์(absolute๋ผ๋ฆฌ๋ ์์์งํค๊ธฐ๋๋ฌธ์) ์์ ๋ค ๋ฌด์ํ๊ณ ๋งจ์์ ์๋ ๋นจ๊ฐ์๋ฐ์ค ์์์์น์ ์์นํ๊ฒ ๋๋ค.
๊ทผ๋ฐ ์ฌ๊ธฐ์ lightgray๋ฐฐ๊ฒฝ์์์ ๋นจ๊ฐ์๋ฐ์ค์ ์์นํ๊ณ ์ถ์ผ๋ฉด container์ position: relative;๋ฅผ ๊ฑธ์ด์ฃผ๋ฉด ์ฌ๊ธฐ๋ถํฐ ์์์ ์ด ๋์ ์ ์ฌ์ง์ฒ๋ผ ๋์ค๊ฒ ๋๋ค!
absolute ํน์ ์์น ์ง์ ํ๊ณ ์ถ์ ๊ฒฝ์ฐ
์์์ ์ด ๋ ๋ถ๋ชจ์์์ position:relative ์ ์ฉ
๐จ.container์ position: relative;๊ฐ ์๋ ๊ฒฝ์ฐ!!๐จ
.container {
width: 400px;
height: 400px;
}
.content {
width: 400px;
height: 400px;
background-color: red;
position: relative;
}
.cloud-filter {
width: 400px;
height: 400px;
background-color: black;
position: absolute;
opacity: 0.3; /* ๋ถํฌ๋ช
๋ 0~1 */
top: 0; /*relative๊ฐ ์์์ !*/
}
<div class="container">
<div class="content">
<h1>์ฌ๊ธฐ๋ content</h1>
</div>
<div class="cloud-filter"></div>
</div>
<h1>container ๋ค์</h1> <!--absolute์ธ cloud-filter๋ ๋ฌด์ํ๋๊น!-->
=> ๐ป
=> content๋ฐ์ค๋ฅผ relative๋ก ํ๊ณ cloud-filter๋ฐ์ค๋ฅผ absoulte๋ก ํ๋ฉด cloud-filter๋ฐ์ค๋ content๋ฐ์ค๋ฅผ ๋ฌด์ํ๊ณ content์์์์น๋ก ๊ฐ๊ฒ๋ ๊ฑฐ์ผ
๊ทธ๋ฆฌ๊ณ top:0์ผ๋ก ์ง์ ํด์ฃผ๊ณ (์์ content์๋ฆฌ์์ ์์ํ๊ฒ) cloud-filter๋ฐ์ค๋ฅผ ๋ถํฌ๋ช
ํ๊ฒ opacity๋ก ์ง์ ํด์ฃผ๋ฉด ๋ฎ์ด์์ฐ๊ธฐ ์ฑ๊ณต..!
ํ
์คํธ๋ absolute cloud-filter๋ฐ์ค๋ฅผ ๋ฌด์ํ๋๊น content๋ฐ์ค ๋ค์์ ์จ๋ค!
๐จ.cloud-filter์ top:0;์ด ์๋ ๊ฒฝ์ฐ!๐จ
=>top:0; ์ฒ๋ผ ๋ฐ๋ก left right top bottom์ ์ง์ ์ ์ํด์ฃผ๋ฉด relative๋ฐ์ค ๋ค์์ ์์นํ๊ฒ ๋๋ค...!
float๋ณด๋จ flex๊ฐ ๋์ค์ํ๋..!
position์ด๋ display ์์ฑ ์์ด inline-block๊ณผ ๊ฐ์ ๋ฐฐ์น ๊ตฌ์กฐ๋ฅผ ๊ตฌํ ๊ฐ๋ฅํ๋ค
float: left;
1) ๋ ์ด์์ ์์ฐ์ค๋ฝ๊ฒ ๋ฐฐ์น!
2) ์ด๋ฏธ์ง์ ํ
์คํธ๊ฐ ์ด์ฐ๋ฌ์ ธ์ ํํ!
float ์ฌ์ฉ ์, ๊ณต์ค์ ๋จ๋ ํํ๋ผ ํด๋น ๊ณต๊ฐ์ ์ฐจ์งํ๊ฑธ ์ธ์X (ํ๋ฆ ๋ฌด์)
float ์ฌ์ฉ ํ, clear ๊ณผ์ ํ์
1. float๋ก ๊ฐ๋ ค์ง ๋ค์ ํฌ๊ธฐ ์ธ์์ด ๋๋ ์์๋ฅผ ์ถ๊ฐ
2. clear ์ฒ๋ฆฌ
1) ๋ง์ง๋ง ์์ ๋ค์์!! ์ฌ์ฉํ๋ ์์์ clear ์์ฑ ์ถ๊ฐ
2) ๊ฐ์์์ ์ ํ์ ํ์ฉํด์ clear (๊ณต์์ฒ๋ผ ํ์ฉ)
์ ํํ์์::after {
content: "";
display: block;
clear: both;
}