position 속성은 문서 상에 요소를 배치하는 방법을 지정한다.
<div class="box-relative">
<div class="box-absolute"></div>
</div>
.box-relative {
position: relative;
width: 300px;
height: 300px;
border: 1px solid #000;
}
.box-absolute {
position: absolute;
top: 30px;
right: 15px;
width: 100px;
height: 100px;
background: red;
}
box-relative를 기준점으로 잡고, box-absolute를 absolute를 통해 relative위에 띄워주었다.
display 속성이 inline으로 지정된 엘리먼트는 전후 줄바꿈 없이 한 줄에 다른 엘리먼트들과 나란히 배치된다다. 대표적인 inline 엘리먼트로 span이나 a, em 태그 등이 있다.
inline속성은 width,height,padding,margin이 적용되지 않는다
block으로 지정된 엘리먼트는 전후 줄바꿈이 들어가 다른 엘리먼트들을 다른 줄로 밀어내고 혼자 한 줄(전체 영역)을 차지한다. 대표적인 block 엘리먼트로 div이나 p, h1 태그 등이 있다
block 속성은 width,height,padding,margin이 적용된다.
inline-block으로 지정된 엘리먼트는 기본적으로 inline 엘리먼트처럼 전후 줄바꿈 없이 한 줄에 다른 엘리먼트들과 나란히 배치된다. 하지만 inline 엘리먼트에서 불가능하던 width와 height 속성 지정 및 margin과 padding 속성의 상하 간격 지정이 가능하다.
float 속성은 해당 HTML 요소가 주변의 다른 요소들과 자연스럽게 어울리도록 만들어 준다. 이 속성은 본래 위와 같은 목적으로 만들어졌지만, 현재는 웹 페이지의 레이아웃(layout)을 작성할 때 자주 사용된다.
loat 속성을 통해 태그를 부유시킨 이후 문서의 흐름을 제거하기 위해 쓰인다. 방향에 따라 3가지 속성이 있다.
overflow:hidden과 같은 결과가 나온다.
clear 해주기 위해서는 float된 요소 다음에 clear하는 태그를 따로 삽입해야 하는 불편함이 있다. 이때 가상 클래스 선택자를 이용하면 이 문제를 해결할 수 있다.