CSS – Box 관련속성

Display

  • 엘리먼트의 박스타입을 지정할 수 있다.
  • 타입은 대표적으로 none, inline, block, inline-block 이 있으며, 그 외 table, table-cell 등의 타입이 있다.
  • inline-block 속성은 해당 엘리먼트가 inline요소처럼 배치되면서 block요소의 기능(width, height, margin, padding)들을 사용 할 수 있는 속성.
display:none;
display:block;
display:inline;
display:inline-block;

Width & Height

  • 엘리먼트의 가로, 세로 사이즈를 지정
width:150px;
width:50%;
height:300px;
height:100%;

Float

  • 엘리먼트를 block형태로 부유시킬때 사용 (display:block을 안해주어도 블럭화됨)
  • block형태로 특정방향(left, right)으로 정렬
float:inherit; (기본 : 밖의 float속성을 상속받음)
float:left;
float:right;
float:none;

Clear

  • float 를 해제할 때 사용
  • 이전 엘리먼트의 float값을 상속받아 같은 방향으로 정렬되는 현상을 막기 위해 사용
clear:inherit; (기본)
clear:left; (왼쪽으로 float된 엘리먼트의 하단에 위치)
clear:right; (오른쪽으로 float된 엘리먼트의 하단에 위치)
clear:both; (모든 float의 하단에 위치 – 개념상 float상속을 받지 않음)

Overflow

  • 자식엘리먼트의 영역이 해당 엘리먼트의 영역보다 더 클 경우 자식엘리먼트를 보여주는 영역을 설정할 수 있다.
  • 주로 스크롤바 표시여부를 지정할 때 많이 사용 된다.
overflow:visible; (기본)
overflow:hidden;
overflow:scroll;
overflow-x:scroll;
overflow-y:scroll;
overflow:auto;

Margin & Padding

  • 엘리먼트(Content)의 바깥여백(margin)과 안쪽 여백(padding)을 지정
  • 축약형의 순서는 위, 오른쪽, 아래, 왼쪽(시계방향) 순서로 인식
  • margin 병합 : 세로 방향으로 마진을 지정한 두개의 서로 다른 요소가 수직 방향으로 접해 있을 때 두 요소 사이의 마진 간격은 두 요소의 마진값 중 큰값으로 병합됨.
margin-top:10px;
margin-right:40px;
margin:10px 40px 20px 10px ;
padding:20px ;
margin:20px 10px;
margin:20px 10px 30px;

Border

  • 엘리먼트 바깥에 선을 그려줌(외곽선)
  • 방향에 따라 스타일을 따로 지정가능
  • width, height 값과는 별개로 엘리먼트의 padding 바깥쪽에 영역을 차지
border-width:3px; (선 굵기)
border-style:solid; (선 모양, solid:실선, dashed:끊어진 실선, dotted:점선)
border-color:red; (선 색깔)
 
border:3px solid red; (축약형)
  • 방향에 따라 선의 스타일을 각각 지정할 수 있다.
border-top-width:3px;
border-right-style:dotted;
border-left-color:blue;

박스모델

브라우저의 렌더링모드에 따라 표준모드(standards) 와 호환모드(quirks) 로 렌더링되는데,
표준모드는 W3C에서 정의한 웹표준방식을 따르며 호환모드는 오래된 구브라우저를 위한 렌더링모드이다.
이러한 렌더링 모드에 따라 박스모델 계산방식이 다른데 표준모드는 width/height 값에 padding값과 border값이 포함이 안되어 있으나,
호환모드에서는 width/height 값 계산시 padding값과 border값을 포함 시킨다.

CSS3 – box-sizing

1. Summary

요소박스의 너비 및 높이의 계산방법을 지정하는 속성

2. Syntax
  • box-sizing : content-box | padding-box | border-box;
  • content-box : width, height의 값이 padding, border 크기를 포함하지 않음 (CSS2.1 표준방법)
  • padding-box : width, height의 값이 padding 크기를 포함하지만 border 크기는 포함하지 않음
  • border-box : width,height의 값이 padding, border 크기를 포함함 (기존 IE 모드)
3. Example
box-sizing:border-box;

borderbox

 

출처 : 다룸 [ http://darum.daum.net]