display속성은 css에서 거의 TOP10안에 드는 핵심적인 요소중의 으뜸이라고 할 수 있다.
html4에서는 모든 엘리먼트가 block요소와 inline요소로 분리되어 그 사용도가 더욱 의미 있게 되었으나
html5로 넘어가는 현 시점에서는 단순하게 블럭과 인라인 요소로만 구분 짓는 것은 무리라고 할 수 있을것이다.
먼저 display의 속성은 어떻게 되는지 부터 살펴보자
display: |
block - 인라인 박스로 만들어 준다. |
inline - 인라인 박스로 만들어 준다. |
inline-block - 블록박스로 만들면서 인라인 박스처럼 가로로 배열 된다. |
none - 박스를 만들지 않으며 시각적으로 완전히 보이지 않게 만든다. |
table - 블록레벨의 표로 만든다. |
inline-table - 인라인레벨의 표로 만든다. |
table-row - 행으로 만든다 (tr 기본속성) |
table-row-group - 본체 행 그룹으로 만든다 (thead 기본속성) |
table-header-group - 헤더 행 그룹으로 만든다. (thead 기본속성) |
table-footer-group - 푸터 행 그룹으로 만든다. (tfoot 기본속성) |
table-column - 열로 만든다. (col 기본속성-보이지않음) |
table-cell - 하나의 셀로 만든다. (td 기본속성) |
table-caption - 캡션으로 만든다. (caption 기본속성) |
list-item - li요소와 같은 블록박스와 목록항목의 인라인박스로 만든다. |
run-in - 런인박스로 만든다. |
compact - 콤팩트 박스로 만든다. |
marker - 그 요소의 전후에 생성된 내용을 마커로 정의한다. |
(display 속성의 일부는 ie에서 지원되지 않는 경우가 있으니 참고)
1. 페이지 레이아웃에서 상단에 전체 백그라운드를 깔았을 경우 새로고침시 깨짐 현상이 발생될 때
display:table 요소를 백그라운드를 넣은 요소에 삽입해 주면 해결된다.
2. 박스 엘리먼트에서 세로 중앙 정렬로 내용을 삽입해야 할 경우
display:table-cell 요소를 넣어주면 vertice-align:middle 처럼 사용할 수 있다.
3. span요소에 박스로 만들면서 가로 정렬 시킬 때
display:inline-block 를 사용하면 되지만 ie6,7에서 inline-block을 지원하지 않기 때문에
아래 내용과 같이 핵을 사용해서 해결하면 된다.
display:inline-block;*display:inline;zoom:1;
'CSS' 카테고리의 다른 글
CSS로 Table 디자인 하기 (0) | 2011.10.18 |
---|---|
CSS핵을 이용한 크로스브라우징 (0) | 2011.10.18 |
웹 브라우저 호환성을 유지하기 위한 CSS 기법 (0) | 2011.10.18 |