HTML 블록 요소와 인라인 요소

HTML 블록 요소와 인라인 요소

이 글은 HTML 블록 요소와 인라인 요소에 대해 설명합니다.

이는 블록 레벨 요소와 인라인 요소의 차이점과 주요 블록 레벨 요소 및 인라인 요소에 대해 설명합니다.

YouTube Video

블록 레벨 요소와 인라인 요소

HTML에는 화면에 표시되는 방식을 결정하는 두 가지 주요 요소 범주가 있습니다: '블록 수준 요소'와 '인라인 요소'입니다. 이 요소들은 페이지 레이아웃에서 중요한 역할을 하며, 배치 방식에 직접적인 영향을 미칩니다. 여기에서 각 요소의 특성과 사용 방법에 대해 자세히 설명하겠습니다.

블록 수준 요소란 무엇입니까?

 1<!DOCTYPE html>
 2<html lang="en">
 3<head>
 4    <meta charset="UTF-8">
 5    <meta name="viewport" content="width=device-width, initial-scale=1.0">
 6    <title>Block-Level Elements Example</title>
 7</head>
 8<body>
 9    <div>
10        <h1>This is a Block-Level Heading</h1>
11        <p>
12            This is a paragraph.
13            Block-level elements start on a new line and
14            take up the full width of their container.
15        </p>
16    </div>
17    <section>
18        <h2>Another Block-Level Section</h2>
19        <p>This is another paragraph inside a section element.</p>
20    </section>
21    <section>
22        <h2>Unordered List And Ordered List</h2>
23        <ul>
24            <li>List Item A</li>
25            <li>List Item B</li>
26            <li>List Item C</li>
27        </ul>
28        <ol>
29            <li>List Item 1</li>
30            <li>List Item 2</li>
31            <li>List Item 3</li>
32        </ol>
33    </section>
34</body>
35</html>

블록 수준 요소는 일반적으로 페이지의 전체 너비를 차지하며 다른 요소와 별도의 줄에 나타납니다. 이 요소들에는 다른 블록 수준 요소나 인라인 요소를 포함할 수 있으며, 문서의 큰 구조를 정의합니다.

기능:

  • 이 요소들은 새 줄에서 시작하며 가능한 한 너비를 확장합니다 (보통 상위 요소의 전체 너비를 차지함).
  • 이 요소들은 다른 블록 요소들과 수직으로 분리되며, 요소 사이에 여백이 적용됩니다.
  • 그 안에 다른 블록 요소나 인라인 요소를 포함할 수 있습니다.

다음 블록 수준 요소들이 활용됩니다:.

  • <div> 태그는 레이아웃을 구성할 때 흔히 사용됩니다.
  • <p> 태그는 단락을 정의하는 데 사용됩니다.
  • <h1>에서 <h6>까지는 제목을 정의하는 데 사용되는 요소입니다. <h1>은 가장 큰 제목이고, <h6>은 가장 작은 제목입니다.
  • <ul> 태그는 순서 없는 목록을 만듭니다.
  • <ol> 태그는 순서가 있는 목록을 만듭니다.
  • <section> 태그는 문서 내의 섹션을 정의합니다.

인라인 요소란 무엇입니까?

 1<!DOCTYPE html>
 2<html lang="en">
 3<head>
 4    <meta charset="UTF-8">
 5    <meta name="viewport" content="width=device-width, initial-scale=1.0">
 6    <title>Inline Elements Example</title>
 7</head>
 8<body>
 9    <p>
10        This is a paragraph with
11        <a href="#">an inline link</a> and
12        <strong>some bold text</strong>.
13    </p>
14    <p>
15        You can also include <em>italicized text</em>,
16        an <img src="images/image.jpg" alt="Sample image" width="100">,
17        and a <span style="color: red;">styled span element</span>
18        within inline elements.
19    </p>
20</body>
21</html>

인라인 요소는 다른 요소와 동일한 줄에 위치하며 일반적으로 콘텐츠 만큼의 너비만 차지합니다. 이러한 요소는 텍스트의 일부로 처리되며, 블록 수준 요소와 달리 전체 줄을 차지하지 않습니다.

기능:

  • 요소는 동일한 줄에 나타나며 다른 인라인 요소와 나란히 놓입니다.
  • 폭은 요소의 콘텐츠(텍스트 또는 이미지)에 따라 결정됩니다.
  • 블록 수준 요소 안에 포함될 수 있지만 그 반대는 불가능합니다.

다음 인라인 요소들이 활용됩니다:.

  • <span> 태그는 특정 스타일로 텍스트의 일부를 강조하는 데 사용됩니다.
  • <a> 태그는 하이퍼링크를 정의합니다.
  • <img> 태그는 이미지를 삽입하는 데 사용되는 요소입니다.
  • <strong>은 중요한 텍스트를 강조합니다 (일반적으로 굵게 표시됨).
  • <em>은 강조된 텍스트를 나타냅니다 (일반적으로 이탤릭체로 표시됨).

블록 수준 요소와 인라인 요소의 차이점

  • 표시 방식: 블록 수준 요소는 새 줄에 표시되고 페이지의 전체 너비를 차지하며, 인라인 요소는 다른 요소와 동일한 줄에 표시되고 콘텐츠에 의해 너비가 결정됩니다.
  • 내부 요소 처리: 블록 수준 요소는 블록 수준 요소와 인라인 요소를 포함할 수 있지만, 인라인 요소는 블록 수준 요소를 포함할 수 없습니다.
  • 레이아웃 역할: 블록 수준 요소는 주로 페이지의 레이아웃 구조를 만드는 데 사용되며, 인라인 요소는 텍스트와 링크와 같은 작은 요소를 정의합니다.

구별을 위한 주요 포인트

레이아웃 생성: <div>, <section>, <article>과 같은 블록 수준 요소를 사용하여 큰 섹션과 콘텐츠 블록을 정의합니다. 텍스트 꾸미기와 링크: <span>, <a>, <strong>, <em>과 같은 인라인 요소를 사용하여 텍스트의 일부를 꾸미거나 링크를 추가합니다.

블록 수준 요소와 인라인 요소의 혼합

 1<!DOCTYPE html>
 2<html lang="en">
 3<head>
 4  <meta charset="UTF-8">
 5  <meta name="viewport" content="width=device-width, initial-scale=1.0">
 6  <title>Mixed Block-Level and Inline Elements</title>
 7</head>
 8<body>
 9  <header>
10    <h1>Main Heading with Mixed Content</h1>
11    <p>
12      This is a paragraph that contains an
13      <a href="#">inline link</a> and
14      <strong>bold text</strong>. You can also have
15      <em>italicized words</em> here.
16    </p>
17  </header>
18  <main>
19    <section>
20      <h2>Subheading with Additional Inline Elements</h2>
21      <p>
22        Here is a section that includes inline elements such as
23        <span style="color: blue;">colored text</span> and an
24        <img src="images/image.jpg" alt="Example image" width="50">.
25        This text demonstrates how inline elements work within block-level elements.
26      </p>
27    </section>
28    <section>
29      <h2>Lists with Mixed Content</h2>
30      <p>
31        This paragraph precedes a list and has
32        <a href="#">a link</a> and <strong>bold</strong> text.
33      </p>
34      <ul>
35        <li>List item with <em>italic</em> text.</li>
36        <li>List item containing <span style="color: green;">styled span</span>.</li>
37        <li>List item with <img src="images/example.jpg" alt="Icon" width="20"> icon.</li>
38      </ul>
39    </section>
40  </main>
41</body>
42</html>
  • <main>, <header>, <section>과 같은 블록 수준 요소는 사용되며, 일반적으로 새로운 줄에 렌더링되고 부모 요소의 전체 너비를 차지합니다.
  • <a>, <strong>, <span>, <img>와 같은 인라인 요소는 사용되며, 블록 수준 요소 내에서 전체 너비를 차지하지 않고 줄 안에 배치됩니다.

인라인 요소를 블록 수준 요소 내에 포함하는 것은 일반적인 패턴입니다. 예를 들어, 단락(<p>) 내에 링크(<a>) 또는 강조(<strong>)를 포함하는 것이 일반적입니다. 그러나 인라인 요소 내에 블록 수준 요소를 포함할 수 없으므로 적절히 사용하는 것이 중요합니다.

요약

블록 수준 요소와 인라인 요소는 HTML 요소의 두 가지 기본 유형으로, 각각 고유한 역할을 가지고 있습니다. 블록 수준 요소는 페이지 레이아웃의 기초를 형성하며, 인라인 요소는 그 안의 세부 콘텐츠를 꾸미고 조작하는 데 사용됩니다. 이 두 가지 요소 유형을 이해하고 올바르게 활용하면 효율적인 HTML 코딩이 가능합니다.

위의 기사를 보면서 Visual Studio Code를 사용해 우리 유튜브 채널에서 함께 따라할 수 있습니다. 유튜브 채널도 확인해 주세요.

YouTube Video