box-sizing: content-box | border-box
<style>
.box1 {
box-sizing: content-box;
width: 300px;
height: 150px;
margin: 10px;
padding: 30px;
border: 2px solid red;
}
.box2 {
box-sizing: border-box;
width: 300px;
height: 150px;
margin: 10px;
padding: 30px;
border: 2px solid red;
}
</style>
<div class="box1">box-sizing="content-box"</div>
<div class="box2">box-sizing="border-box"</div>
box1 클래스를 가진 div는 box-sizing이 content-box이기 때문에 콘텐츠 영역이 300px이고 총 너비는 width:300px + padding:30px(총 60px) + border:2px(총 4px) = 364px 이 된다.
box2 클래스를 가진 div는 box-sizing이 border-box 이기 때문에 총 너비는 300px 이고 좌우 패딩 각 30px 과 좌우 테두리 각 2px을 뺀 236px이 콘텐츠 너비가 된다.
float: left | right | none
float:left
, float:right
를 지정하면 너비 값은 콘텐츠를 표시할 때 필요한 만큼만 차지하고 다른 요소가 들어올 만큼의 공간을 비워둔다.
예를 들어 박스를 왼쪽에서부터 차례로 위치하게 하고 싶다면 모든 박스들에게 float: left를 걸어주면 차례로 왼쪽에서부터 위치된다.
float 속성을 이용해 웹페이지 요소를 배치하게 되면 다음에 넣는 다른 요소들에게도 같은 속성이 전달된다. 같은 속성을 이용하고 싶지 않다면 사용하는 속성이 clear 속성이다. float: left
를 사용하여 왼쪽으로 배치했다면 clear: left
로 속성을 종료하고 float: right
를 사용하여 오른쪽으로 배치했다면 clear: right
로 속성을 종료한다. left나 right 상관없이 무조건 기본상태로 되돌리고 싶다면 clear: both
를 사용한다.
position: static | relative | absolute | fixed
z-index: <숫자>
요소위에 요소를 쌓을 때 쌓는 순서를 지정하는 속성이다.
값이 작을수록 아래에 쌓이고 값이 클수록 작은 요소보다 위에 쌓인다. z-index 값을 명시하지 않을 경우 웹문서에 맨 먼저 삽입하는 요소가 z-index: 1 값을 가지며 그 후에 삽입하는 요소들을 값이 점점 커진다.