HTML Layout

HTML Block vs Inline Elements

In HTML, every element is defined as either a block-level element or an inline element.
Understanding the difference between them is essential for controlling page layout, spacing, and structure effectively.

What Are Block-Level Elements?

A block-level element always starts on a new line and stretches to take up the full width available.
Browsers automatically add space (margin) before and after block elements.

Examples of block-level elements:

<div>, <p>, <h1><h6>, <ul>, <ol>, <li>, <section>, <article>, <header>, <footer>, <form>, <table>

Block Level Elements Example

html

<h2>This is a block element</h2>
<p>Block elements always start on a new line and take full width.</p>
<div>This is inside a div container.</div>

Rendered Output:

Each element appears on a separate line, one after another.

What Are Inline Elements?

An inline element does not start on a new line.
It only takes up as much width as necessary and sits within the flow of surrounding text.

Examples of inline elements:

<span>, <a>, <strong>, <em>, <img>, <label>, <input>, <b>, <i>

Inline Elements Example

html

<p>This is a <strong>bold</strong> word and this is an <em>italic</em> word.</p>
<p>Click <a href="#">here</a> to learn more.</p>

Rendered Output:

All elements appear within the same line of text.

Difference Between Block and Inline Elements

FeatureBlock-Level ElementsInline Elements
Starts on a new lineYesNo
Takes full widthYesOnly as wide as its content
Can contain block elementsYesNo
Can contain inline elementsYesYes
Common examples<div>, <p>, <section><span>, <a>, <strong>

Example: Combining Block and Inline Elements

Combined Example

html

<div style="border: 1px solid #ccc; padding: 10px;">
  <h3>HTML Elements Example</h3>
  <p>This is a <strong>paragraph</strong> that contains an <a href="#">inline link</a> and a <span style="color: blue;">colored word</span>.</p>
</div>

Explanation:

  • <div> is a block-level container.
  • <p> is also a block-level element.
  • <strong>, <a>, and <span> are inline elements inside the paragraph.

Converting Between Block and Inline (CSS)

Using CSS, you can change the display behavior of any element.

Converting Example

html

<span style="display: block; background: lightgray;">Converted to Block</span>
<div style="display: inline; background: yellow;">Converted to Inline</div>

Explanation:

  • The <span> is normally inline, but CSS display: block makes it behave like a block.
  • The <div> is normally block, but display: inline makes it sit inline with text.

HTML5 and Modern Layouts

In modern HTML5 layouts, semantic elements such as <header>, <main>, <article>, and <footer> are block-level elements by default.
Understanding how block and inline behavior works helps in creating responsive, accessible layouts.

Browser Support

Chrome
Edge
Firefox
Safari
Opera
IE9+
YesYesYesYesYesYes

Conclusion

Block-level and inline elements form the foundation of HTML page structure.

  • Block elements create structure and layout regions.
  • Inline elements format and highlight content inside those blocks.

Mastering their behavior is the first step toward understanding modern HTML layout design.