Bird
Raised Fist0
HTMLmarkup~15 mins

Block-level elements in HTML - Mini Project: Build & Apply

Choose your learning style10 modes available
Building a Simple Webpage with Block-level Elements
📖 Scenario: You are creating a simple webpage for a local bakery. The page will have a header, a main section with a welcome message, and a footer with contact information. You will use block-level elements to structure the page.
🎯 Goal: Build a basic HTML page using block-level elements: , , and . Each section will contain text content relevant to the bakery.
📋 What You'll Learn
Use semantic block-level elements:
,
, and
.
Include a heading inside the header.
Add a paragraph inside the main section.
Place contact information inside the footer.
Ensure the HTML structure is valid and well-formed.
💡 Why This Matters
🌍 Real World
Block-level elements help organize webpage content clearly and semantically, making it easier for browsers and assistive technologies to understand the page structure.
💼 Career
Knowing how to use semantic block-level elements is essential for web developers to build accessible and maintainable websites.
Progress0 / 4 steps
1
Create the HTML skeleton with <html> and <body>
Write the basic HTML structure starting with <!DOCTYPE html>, then add the <html lang="en"> tag, and inside it add the <body> tag.
HTML
Hint
Start with the document type declaration and add the root html element with language attribute, then add the body element inside html.
2
Add a <header> with a heading inside <body>
Inside the <body> tag, add a <header> element. Inside the header, add an <h1> heading with the text "Welcome to Sweet Treats Bakery".
HTML
Hint
Use the
tag to group the heading, and place an

inside it with the exact text.

3
Add a <main> section with a welcome paragraph
Below the <header>, add a <main> element. Inside
, add a <p> paragraph with the text "We bake fresh bread and delicious pastries every day."
HTML
Hint
Use the
tag for the main content and add a paragraph inside it with the exact text.
4
Add a <footer> with contact information
Below the <main> section, add a <footer> element. Inside the footer, add a <p> paragraph with the text "Contact us at contact@sweettreats.com".
HTML
Hint
Use the
tag for footer content and add a paragraph with the exact contact text.

Practice

(1/5)
1. Which of the following is a block-level element in HTML?
easy
A. <img>
B. <span>
C. <div>
D. <a>

Solution

  1. Step 1: Understand block-level elements

    Block-level elements start on a new line and take full width.
  2. Step 2: Identify the element type

    <div> is a block-level element, while <span>, <img>, and <a> are inline elements.
  3. Final Answer:

    <div> -> Option C
  4. Quick Check:

    Block-level element = <div> [OK]
Hint: Block elements start new lines and fill width [OK]
Common Mistakes:
  • Confusing <span> as block-level
  • Thinking <img> is block-level
  • Assuming <a> creates a block
2. Which HTML tag correctly represents a block-level element?
easy
A. <header>
B. <img>
C. <button>
D. <label>

Solution

  1. Step 1: Recall block-level tags

    Tags like <header> are block-level and create sections.
  2. Step 2: Check other tags

    <img>, <button>, and <label> are inline or replaced elements, not block-level.
  3. Final Answer:

    <header> -> Option A
  4. Quick Check:

    Block-level tag = <header> [OK]
Hint: Headers and sections are block-level [OK]
Common Mistakes:
  • Choosing <img> as block-level
  • Confusing <button> with block
  • Thinking <label> is block-level
3. What will be the visual layout of this HTML snippet?
<div>First</div>
<span>Second</span>
<div>Third</div>
medium
A. First, Second, and Third all on separate lines stacked vertically
B. First and Third on separate lines; Second inline between them
C. All three on the same line horizontally
D. Second on a new line; First and Third inline

Solution

  1. Step 1: Identify block and inline elements

    <div> is block-level (new line), <span> is inline (same line).
  2. Step 2: Visualize layout

    "First" appears on its own line, "Second" appears inline right after on the same line, then "Third" starts on a new line below.
  3. Final Answer:

    First and Third on separate lines; Second inline between them -> Option B
  4. Quick Check:

    Block-level breaks line; inline stays inline [OK]
Hint: Div breaks line; span stays inline [OK]
Common Mistakes:
  • Thinking span shares line with previous div
  • Thinking all elements on same line horizontally
  • Thinking Second and Third share a line
4. Find the error in this HTML snippet if the goal is to have each text on its own line:
<span>Line 1</span>
<span>Line 2</span>
<span>Line 3</span>
medium
A. Change <span> to <img>
B. Add <br> after each <span>
C. Wrap all spans inside a <section>
D. Use <div> instead of <span> for block-level lines

Solution

  1. Step 1: Understand element behavior

    <span> is inline, so all text appears on the same line.
  2. Step 2: Fix for new lines

    Replacing <span> with <div> makes each text block-level, forcing new lines.
  3. Final Answer:

    Use <div> instead of <span> for block-level lines -> Option D
  4. Quick Check:

    Block-level tags create new lines [OK]
Hint: Span is inline; div is block-level [OK]
Common Mistakes:
  • Adding
    unnecessarily
  • Wrapping spans without changing tag
  • Replacing span with img (wrong tag)
5. You want to create a webpage section with a header, two paragraphs, and a footer. Which HTML structure uses block-level elements correctly?
hard
A. <section><header>Title</header><p>Para 1</p><p>Para 2</p><footer>End</footer></section>
B. <div><span>Title</span><span>Para 1</span><span>Para 2</span><span>End</span></div>
C. <section><div>Title</div><div>Para 1</div><div>Para 2</div><div>End</div></section>
D. <article><header>Title</header><span>Para 1</span><span>Para 2</span><footer>End</footer></article>

Solution

  1. Step 1: Check semantic and block-level tags

    <section>, <header>, <p>, and <footer> are all block-level and semantically correct for sections.
  2. Step 2: Evaluate other options

    <div><span>Title</span><span>Para 1</span><span>Para 2</span><span>End</span></div> uses inline <span> incorrectly; <section><div>Title</div><div>Para 1</div><div>Para 2</div><div>End</div></section> uses <div> but misses semantic tags; <article><header>Title</header><span>Para 1</span><span>Para 2</span><footer>End</footer></article> mixes block and inline incorrectly.
  3. Final Answer:

    <section><header>Title</header><p>Para 1</p><p>Para 2</p><footer>End</footer></section> -> Option A
  4. Quick Check:

    Semantic block-level tags structure content [OK]
Hint: Use semantic block tags for sections [OK]
Common Mistakes:
  • Using inline tags for paragraphs
  • Ignoring semantic meaning
  • Mixing inline and block incorrectly
Recommended

Ready to prove it?

Pass the test and this pattern moves unknown strong while earning +1 Grip toward your certificate.

10 questions~5 mineasy hard