본 게시글은 개인 공부를 하면서 기록 목적으로 작성한 내용입니다.
잘못된 내용이 있다면 제보 부탁드립니다. 🙇♂️
1. Block 과 Inline
- HTML 4.1 버전에서는 Block과 Inline 이라고 불렸으나, HTML5 에서는 Flow Contents와 Phasing Contents라고 불린다.
- display: block;
- 블록 박스는 다른 블록 박스에 포함되거나, 포함할 수 있다.
- 너비(width), 높이(height) 설정이 가능하며, 내부에 콘텐츠를 포함하지 않을 경우 높이는 0이다.
- display: inline;
- 인라인 박스는 다른 인라인 박스에 포함되거나, 포할할 수 있지만, 블록 요소는 포함할 수 없다.
- 내부에 포함된 콘텐츠 만큼 너비(width), 높이(height)를 가지게 된다.(너비, 높이 설정 불가)
- margin 좌(left), 우(right)는 적용이 가능하며, 위(top), 아래(bottom)는 적용이 불가하다. (※ padding은 적용되고 있지만, padding 속성으로 인한 공간은 벌어지지 않는다.)
- display: inline-block;
- 기본적으로 인라인처럼 화면에 렌더링되지만, 블록 박스처럼 너비와 높이 설정이 가능하다.
- Block Element 목록
더보기<address />
<article />
<aside />
<audio />
<blockquote />
<canvas />
<dd />
<div />
<dl />
<fieldset />
<figcaption />
<figure />
<footer />
<form />
<h1~6 />
<header />
<hr />
<noscript />
<ol />
<output />
<p />
<pre />
<section />
<table />
<tfoot />
<ul />
<video />
2. margin / border / padding / content
- margin: 외부 공간 박스
- border: 테두리 공간 박스
- padding: 내부 공간 박스
- content: 콘텐츠 공간 박스
- margin-box 는 외부 공간이므로 간격 제어는 가능하나, 배경색을 지정할 수 없다.
- margin-box는 음수값을 사용할 수 있지만, padding과 border-box는 음수값을 사용할 수 없다.
3. Dimension 설정
- 블록 박스, 인라인 블록 박스는 수치 설정을 통해 박스의 크기를 변경할 수 있다.
- width, height : 좌우, 높이를 설정
- min-width, min-height : 좌우 높이 최솟값을 설정
- max-width, max-height : 좌우 높이 최대값을 설정
- 기본적으로 width와 height 값은 content-box의 폭 만큼 설정이 된다.
- padding과 border는 포함하지 않아 속성을 주게 되면 width 값이 늘어나거나, 줄어든다.
- box-sizing: border-box; 을 주게되면 width와 height는 padding과 border를 합한 값으로 설정이 된다.
- width = content-box + padding-box + border-box
- height = content-box + padding-box + border-box
4. Overflow 설정
- 부모 박스의 영역을 자식 박스가 넘어서게 될 때 화면에 어떻게 렌더링할지를 결정하게 된다.
구 분 | 내 용 |
overflow: auto; | 흐름이 넘치면 x/y축 모두 스크롤 바가 자동으로 생기며, 반대로 흐름이 넘치지 않으면 스크롤바는 보이지 않는다. |
overflow: visible; | 흐름이 넘친 영역이 모두 보여진다. |
overflow: hidden; | 흐름이 넘친 영역을 모두 감춰서 보이지 않게 한다. |
overflow: scroll; | 흐름이 넘치지 않아도 기본적으로 x/y축 스크롤이 보인다. |