
html 코드의 순서와 상관없이 웹 페이지의 어느 위치에나 요소를 배치할 수 있음.
relative는 말 그대로 상대적이란 뜻이다.
그 자체로써 의미가 있는 것이 아니라 다른 요소와의 위치관계를 상대적으로
배치한다.
top, right, left, bottom을 이용해서 위치를 이동시켜줄 수 있다.
아래 예제 코드를 보면,
.relative {
position: relative;
}
.top-20 {
top: -20px;
left: 30px;
}

absolute는 웹 페이지 내에서의 위치가 절대적이다.
부모 요소에 대해 절대적으로 움직인다.
일반적으로 absolute를 쓰려면, 절대적으로 움직이고 싶은 부모에게 position:relative를 부여하면 된다.
아래 예제 코드를 보면,
p {
margin: 0;
background-color: yellow;
}
.absolute {
position: absolute;
}
.right-0 {
right: 0;
bottom: 0;
}
div는 position이 relative로 형성되었고, p는 absolute로 형성되었기 때문에, div 안에서 자신의 절대적인 위치를 형성한다.

fixed는 뜻 그대로 고정되어 있다는 뜻이다.
일반적인 웹 페이지에서 상단 header의 Navigation Bar를 고정시킬 때 사용된다.
absolute와는 별개로 부모가 relative일 필요가 없다.
해당 페이지에서 고정된 Position을 설정하는 것이기 때문.

위 그림은 kakaocorp.com이다. 위의 navigation bar가 고정되어 있다.
휠을 내려도 위의 navigation bar의 위치는 변치 않는다.
position : fixed가 설정되어 있는 것으로 보인다.
CSS의 Display 속성 중에는 inline, inline-block, block이 있다.

<header>, <footer>, <p>, <li>, <table>, <div> 등이 모두 block 요소다. Span, a, img 등이 대표적인 inline 태그다.
아래 예제에서 간단한 웹페이지를 구현할 때, 배너, 사이드바, main contents를 구현할 때 float 속성을 이용해서 요소를 원하는 곳으로 배치시킬 수 있다.
HTML 코드의 일부
<div class="main-page">
<header>배너</header>
<aside>사이드바</aside>
<section>main contents</section>
</div>
.main-page aside {
float : left;
}
.main-page section{
float : right;
aside 태그에 있는 사이드바라는 초록색 박스는 float:left로 왼쪽으로 보낼 수 있다.
section 태그는 float:right로 오른쪽으로 보낼 수 있다.


.clearfix{
overflow : auto
