일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- CSS
- 맨땅에 해딩
- 배열
- 데이터베이스연동
- java
- js
- form
- 점프 투 파이썬
- java입문
- Git알아보기
- cmd
- MySQL
- arraylist
- java기초
- emmet
- Collection
- jdbc
- 오버라이딩
- html
- 필드
- javascript
- 이클립스
- 파일이동버튼
- 버튼페이지이동
- object
- 컬렉션프레임워크
- Eclipse
- Git이해하기
- 기본코드
- list
- Today
- Total
단단히
Box Model [ contents / padding / border / margin ] 본문
Box Model에 대해 알아보자.
Box Model은 모든 요소가 갖는 구조이다.
HTML의 기본 구조를 알아야 코드를 볼 때 편하다.
2022.07.21 - [HTML,CSS/개념 정리] - HTML 기본 코드
border는 '테두리 선'이라고 생각하자.
padding과 margin을 설명할때 구간을 보여주기 때문이다.
<!DOCTYPE html>
<html lang="ko">
<head>
<meta charset="UTF-8" />
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>BoxModel</title>
<style>
h1 {
border: 1px solid rgb(255, 0, 0);
}
</style>
</head>
<body>
<h1>BoxModel</h1>
</body>
</html>
1px이고 색이 빨간( rgb(255,0,0) )인 테두리 선(border)이 들어간다.
아래는 위 코드의 결과이다.
h1은 블랙라인 요소 이기 때문에 해당 줄 모두가 선택된다.
[ padding ] ; 내부 여백
padding은 콘텐츠와의 여유 공간을 주는 것이다.
<!DOCTYPE html>
<html lang="ko">
<head>
<meta charset="UTF-8" />
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>BoxModel</title>
<style>
h1 {
border: 1px solid rgb(255, 0, 0);
}
span {
border: 1px solid rgb(0, 0, 255);
}
</style>
</head>
<body>
<h1>BoxModel</h1>
<span> box model을 알아보자! </span>
</body>
</html>
여기서 알 수 있는 것은 span 요소는 인라인 요소라는 것을 알 수 있다.
자신의 자리만 차지하는 것이다.
Mangin과 Padding을 잘 확인하기 위해서 span을 사용하기로 하자.
<!DOCTYPE html>
<html lang="ko">
<head>
<meta charset="UTF-8" />
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>BoxModel</title>
<style>
span {
border: 1px solid rgb(0, 0, 255);
padding: 20px;
}
</style>
</head>
<body>
<span> box model을 알아보자! </span>
</body>
</html>
위와 같이 padding은 콘텐츠를 둘러싼 공간을 말한다.
여백의 크기는 위, 오른쪽, 아래, 왼쪽 순서로 지정한다.
<!DOCTYPE html>
<html lang="ko">
<head>
<meta charset="UTF-8" />
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>BoxModel</title>
<style>
span {
border: 1px solid rgb(255, 0, 0);
padding: 20px 10px 30px 50px;
}
</style>
</head>
<body>
<span> 여백의 크기는 위, 오른쪽, 아래, 왼쪽 순서로 지정한다. </span>
</body>
</html>
@charset "UTF-8";
span{
/* 각 위치마다 나눠서 지정 */
padding-top: 20px;
padding-right: 30px;
padding-bottom: 30px;
padding-left: 30px;
/* 만약 여백이 위/아래 20px 오른쪽/왼쪽 30px 일 경우 */
padding : 20px 30px;
/* 여백이 위 20px 오른쪽/왼쪽 10px 아래 30px일 경우 */
pading : 20px 10px 30px;
}
[margin] ; 외부 여백
전체를 div요소로 묶은 후 실행한다.
**위와 같이 span요소를 사용할 수 없다. 왜냐하면 span 요소는 margin이 먹히지 않는다.**
margin은 테두리(border)를 둘러싼 공간을 의미한다.
다른 요소와의 여유공간을 주는 것이다.
<!DOCTYPE html>
<html lang="ko">
<head>
<meta charset="UTF-8" />
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>BoxModel</title>
<style>
div#wrap {
border: 1px solid #000;
}
</style>
</head>
<body>
<div id="wrap">
<span>
margin의 여백 설정은 padding과 동일하다. <br />
여백의 크기는 위, 오른쪽, 아래, 왼쪽 순서로 지정한다.
</span>
</div>
</body>
</html>
<!DOCTYPE html>
<html lang="ko">
<head>
<meta charset="UTF-8" />
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>BoxModel</title>
<style>
div#wrap {
border: 1px solid #000;
margin: 40px;
}
</style>
</head>
<body>
<div id="wrap">
<span>
margin의 여백 설정은 padding과 동일하다. <br />
여백의 크기는 위, 오른쪽, 아래, 왼쪽 순서로 지정한다.
</span>
</div>
</body>
</html>
여백의 크기 지정 방법은 padding과 동일하다.
div{
border : 2px solid #000;
margin : auto;
}
margin : auto는 브라우저에서 수평 방향 마진 값을 자동으로 설정한다.
html요소의 왼쪽과 오른쪽 마진을 자동으로 설정하는 것이다.
*** 그 요소를 포함하고 있는 부모 요소의 정중앙에 위치하게 된다.***
모든 요소를 웹브라우저 창 화면 크기와 상관없이 가운데 위치시키려면
전체를 담고 있는 div요소에 margin : 0 auto; 를 선언하면 된다.
[ 정 리 ]
'HTML,CSS > 개념 정리' 카테고리의 다른 글
Semantic(시맨틱) 요소 (0) | 2022.07.27 |
---|---|
Border 테두리 선 (0) | 2022.07.25 |
HTML 기본 코드 (0) | 2022.07.21 |
Visual Studio Code 환경 설정 (0) | 2022.07.18 |
visual studio code 설치 (0) | 2022.07.15 |