CSS Box Model & Display Property
1. CSS Box Model
CSS는 모든 HTML elements는 Box로 취급된다.
border: <두께> <스타일> <색상>;
border: 2px solid red;
margin: <top> <right> <bottom> <left>;
padding: <top> <right> <bottom> <left>;margin: 10px; 모든 방향에 10pxmargin: 10px 20px; 위아래 10px, 좌우 20pxmargin: 10px 20px 30px; 위 10px, 좌우 20px, 아래 30pxmargin: 10px 20px 30px 40px; 위, 오른쪽, 아래, 왼쪽 순서 (시계 방향
margin 개별속성margin-topmargin-rightmargin-bottommargin-left
padding: <top> <right> <bottom> <left>;
padding 개별속성padding-top: 10px;padding-right: 15px;padding-bottom: 10px;padding-left: 15px;
box-sizing: content-box | border-box;
box-sizing: content-box; /* 요소의 width와 height는 콘텐츠(content) 영역만을 의미합니다.(기본속성) */box-sizing: border-box; /* width와 height는 전체 박스 크기(= content + padding + border) 를 의미합니다.*/
(예시)
div {width: 200px;padding: 20px;border: 10px solid black;box-sizing: content-box;}
실제 너비는 200 + 20*2 + 10*2 = 260px
다음 예제를 살펴본다.
Color Names Supported by All Browsers
<!DOCTYPE html><html><head><meta charset="utf-8"><title> HTML 문서 배우기</title><style>body {background-color: yellow;border: 1px solid green;padding: 15px;margin: 30px;}p {background-color: grey;height: 200px;width: 400px;border: 10px solid red;padding: 25px;margin: 45x;}</style></head><body><p> HTML5를 사용하기 위해서는 Edge, FireFox, 크롬등을 사용한다.</p><p> 수업에서는 크롬을 사용한다.</p></body></html>
2. HTML div
HTML div 태그는 Grouping을 하는 태그로 여러개의 태그를 묶어주는 역활을 한다.
다음과 같이 style에 추가하고 HTML을 아래와 같이 div로 묶어 본다.
<head>
<style>div {background-color: blue;height: 820px;padding: 10px;border: 5px solid hotpink;margin: 0;}</style></head><body><div><p> HTML5를 사용하기 위해서는 Edge, FireFox, 크롬등을 사용한다.</p><p> 수업에서는 크롬을 사용한다.</p></div></body>
width와 height는 content area만을 의미한다. 실제 div의높이는 얼마일까?
820+
+10 padding x 2 (위 아래)
+ 5 boarder x 2 (위 아래)
+0 margin x 2 (위 아래)
= 850px이다.
3. Outline (css property)
Outline은 element's border 외부에 그려지는 선이다. Outline은 돋보이게 하는 옵션이다.
Outline은 element의 크기에 포함되지는 않는다. 그러므로 다른 엘레먼트와 중첩될 수 있다.
div에 다음과 같이 추가한다.
div {
background-color: blue;
height: 820px;
padding: 10px;
border: 5px solid hotpink;
margin: 0;
outline-width: 14px;
outline-style: outset;
outline-color: #ffffff;
}