Bird
Raised Fist0
HTMLmarkup~8 mins

Preformatted text in HTML - Browser Rendering Trace

Choose your learning style10 modes available
Render Flow - Preformatted text
[Read <pre>] -> [Create PRE node] -> [Add text preserving whitespace] -> [Render text with monospace font] -> [Apply white-space: pre style] -> [Display block with scroll if overflow]
The browser reads the <pre> tag, creates a block element that preserves all spaces, tabs, and line breaks exactly as typed, using a monospace font and special white-space handling.
Render Steps - 3 Steps
Code Added:<pre> element with text inside
Before
[ ] (empty space where text will appear)
→
After
[  
  L i n e   1
    L i n e   2   i n d e n t e d
L i n e   3
]
The <pre> tag creates a block area that preserves all spaces and line breaks exactly as typed.
🔧 Browser Action:Creates block box and preserves whitespace characters
Code Sample
Shows text exactly as typed with spaces and line breaks preserved in a block with monospace font.
HTML
<pre>
  Line 1
    Line 2 indented
Line 3
</pre>
Render Quiz - 3 Questions
Test your understanding
After step 1, what do you see in the browser?
AText wrapped and aligned left ignoring spaces
BText with all spaces collapsed into one space
CText with spaces and line breaks exactly as typed
DEmpty space with no text visible
Common Confusions - 2 Topics
Why does my spaces and line breaks disappear inside <pre>?
If you see spaces or line breaks missing, check if your text editor or browser is removing them before rendering. The <pre> tag itself preserves whitespace.
💡 Remember: <pre> preserves whitespace, but your source text must have it.
Why does text inside <pre> sometimes scroll horizontally?
Because white-space: pre prevents wrapping, long lines overflow horizontally causing scrollbars.
💡 Long lines in <pre> cause horizontal scroll, unlike normal text that wraps.
Property Reference
PropertyValueEffect on TextCommon Use
white-spaceprePreserves all spaces, tabs, and line breaks exactlyUsed by <pre> to keep formatting
font-familymonospaceEach character has equal width, aligns text verticallyUsed in code blocks and <pre>
displayblockTakes full width, starts on new lineDefault for <pre> to separate content
Concept Snapshot
The <pre> tag shows text exactly as typed. It preserves spaces, tabs, and line breaks. Uses white-space: pre style to keep formatting. Text uses monospace font for equal character width. Long lines may cause horizontal scrolling.

Practice

(1/5)
1. What does the <pre> tag do in HTML?
easy
A. Creates a paragraph with bold text
B. Displays text exactly as typed, preserving spaces and line breaks
C. Adds a hyperlink to another page
D. Inserts an image into the page

Solution

  1. Step 1: Understand the purpose of <pre> tag

    The <pre> tag is used to display preformatted text, meaning it keeps all spaces and line breaks exactly as typed.
  2. Step 2: Compare with other options

    Other options describe different HTML tags or functions unrelated to <pre>.
  3. Final Answer:

    Displays text exactly as typed, preserving spaces and line breaks -> Option B
  4. Quick Check:

    <pre> preserves spacing = A [OK]
Hint: Remember: <pre> keeps spaces and line breaks as typed [OK]
Common Mistakes:
  • Thinking <pre> formats text like <p>
  • Confusing <pre> with <code> tag
  • Assuming <pre> adds styling like bold or links
2. Which of the following is the correct syntax to create preformatted text in HTML?
easy
A. This is preformatted text
B. This is preformatted text
C.
This is preformatted text
D.

This is preformatted text

Solution

  1. Step 1: Identify the correct HTML tag for preformatted text

    The correct tag is <pre> to show text exactly as typed.
  2. Step 2: Check other options for validity

    <preformatted> is not a valid tag, <code> is for code but does not preserve spaces, <p> is for paragraphs without preserving spaces.
  3. Final Answer:

    <pre>This is preformatted text</pre> -> Option C
  4. Quick Check:

    Correct tag for preformatted text = B [OK]
Hint: Use <pre> tag exactly, no extra letters [OK]
Common Mistakes:
  • Using <preformatted> which is invalid
  • Confusing <code> with <pre>
  • Using <p> which does not preserve spaces
3. What will be the visual output in the browser for this HTML code?

Line 1
  Line 2 indented
Line 3
medium
A. Line 1 Line 2 indented Line 3 (with spaces and line breaks preserved)
B. Line 1 Line 2 indented Line 3 (all in one line)
C. Line 1 Line 2 indented Line 3 (spaces removed)
D. Line 1 Line 2 indented Line 3 (spaces replaced by single spaces)

Solution

  1. Step 1: Understand <pre> tag behavior

    The <pre> tag preserves all spaces and line breaks exactly as typed in the code.
  2. Step 2: Analyze the given code

    The text has line breaks and indentation spaces before 'Line 2 indented'. These will appear exactly as shown.
  3. Final Answer:

    Line 1 Line 2 indented Line 3 (with spaces and line breaks preserved) -> Option A
  4. Quick Check:

    <pre> preserves spaces and lines = D [OK]
Hint: Remember: <pre> shows text exactly as typed [OK]
Common Mistakes:
  • Thinking spaces are collapsed like normal text
  • Assuming line breaks are ignored
  • Confusing <pre> with <p> or <div>
4. Identify the error in this HTML snippet:

  <pre>
  Hello World
  </pre>
medium
A. There is no error; this code is correct
B. The <pre> tags are not closed properly
C. The text inside <pre> should not have spaces
D. The <pre> tags are inside another <pre>, causing nested preformatted blocks

Solution

  1. Step 1: Examine the code structure

    The code shows <pre> tags inside another <pre> block, which means nested preformatted text.
  2. Step 2: Understand <pre> nesting effect

    Nested <pre> tags cause the inner tags to be shown as text, not as HTML tags, which is usually unintended.
  3. Final Answer:

    The <pre> tags are inside another <pre>, causing nested preformatted blocks -> Option D
  4. Quick Check:

    Nested <pre> shows tags as text = A [OK]
Hint: Avoid nesting <pre> tags; it shows tags as text [OK]
Common Mistakes:
  • Thinking nested <pre> tags are valid HTML structure
  • Assuming spaces inside <pre> are errors
  • Ignoring that tags inside <pre> show as text
5. You want to display a poem with exact line breaks and spaces on your webpage. Which approach is best?
hard
A. Use the <pre> tag to wrap the poem text
B. Use multiple <p> tags for each line
C. Use <div> with CSS margin for spacing
D. Use <span> tags with line breaks

Solution

  1. Step 1: Identify the requirement for exact spacing and line breaks

    Poetry needs spaces and line breaks preserved exactly as typed.
  2. Step 2: Choose the HTML tag that preserves formatting

    The <pre> tag preserves all spaces and line breaks, making it ideal for poems.
  3. Step 3: Evaluate other options

    Multiple <p> tags break text into paragraphs but don't preserve spaces; <div> and <span> need extra CSS and don't preserve spaces by default.
  4. Final Answer:

    Use the <pre> tag to wrap the poem text -> Option A
  5. Quick Check:

    Exact spacing needs <pre> = C [OK]
Hint: For exact text layout, always use <pre> [OK]
Common Mistakes:
  • Using <p> which ignores extra spaces
  • Relying on CSS alone without <pre>
  • Using <span> which is inline and ignores line breaks
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