Bird
Raised Fist0
HTMLmarkup~10 mins

Image sizing basics in HTML - Browser Rendering Trace

Choose your learning style10 modes available
Render Flow - Image sizing basics
[Read <img>] -> [Create IMG node] -> [Load image source] -> [Calculate intrinsic size] -> [Apply CSS width/height if any] -> [Layout image box] -> [Paint image pixels]
The browser reads the <img> tag, loads the image file, calculates its natural size, then applies any CSS width or height properties before placing it on the page.
Render Steps - 4 Steps
Code Added:<img src="https://via.placeholder.com/150" alt="Placeholder Image">
Before
[Empty page]
→
After
[Image box 150x150]
[█████████████████]
[█████████████████]
[█████████████████]
The browser loads the image at its natural size of 150 by 150 pixels and displays it.
🔧 Browser Action:Creates IMG element, loads image resource, calculates intrinsic size, paints image
Code Sample
A 150x150 placeholder image is resized to 100px wide, keeping its height proportional, with a visible border.
HTML
<img src="https://via.placeholder.com/150" alt="Placeholder Image">
HTML
img {
  width: 100px;
  height: auto;
  border: 2px solid #333;
}
Render Quiz - 3 Questions
Test your understanding
After applying step 2 (width: 100px), what happens to the image height?
AIt becomes 100px regardless of aspect ratio
BIt stays at the original 150px height
CIt scales proportionally to keep the aspect ratio
DIt disappears
Common Confusions - 2 Topics
Why does my image look stretched when I set width and height to different values?
Setting both width and height to fixed values can distort the image because it forces the image to those exact dimensions, ignoring the natural aspect ratio. See render_steps 2 and 3 where height:auto keeps proportions.
💡 Use only one dimension fixed and set the other to auto to keep the image's natural shape.
Why does adding a border make my image bigger than expected?
Borders add to the total size of the image box, so a 2px border adds 4px (2px each side) to width and height. This is shown in render_step 4.
💡 Remember borders add outside the image content size, increasing total space used.
Property Reference
PropertyValue AppliedEffect on Image SizeCommon Use
widthauto (default)Image uses natural widthShow image at original size
width100px (or any length)Sets image width, scales height proportionally if height:autoResize image width
heightauto (default)Height adjusts to keep aspect ratioMaintain image proportions
height100px (or any length)Sets image height, scales width proportionally if width:autoResize image height
border2px solid #333Adds border around image, increasing total box sizeVisual emphasis or styling
Concept Snapshot
Images have natural size from the file. Setting width or height resizes the image. Use height:auto or width:auto to keep proportions. Borders add to the total size around the image. Avoid setting both width and height to fixed values to prevent distortion.

Practice

(1/5)
1. Which HTML attribute is used to set the width of an image directly in the tag?
easy
A. width
B. size
C. length
D. scale

Solution

  1. Step 1: Identify image sizing attributes

    The width attribute is used in the <img> tag to set the image width in pixels or percentage.
  2. Step 2: Confirm correct attribute name

    Among the options, only width is a valid HTML attribute for image sizing.
  3. Final Answer:

    width -> Option A
  4. Quick Check:

    Image width attribute = width [OK]
Hint: Use width or height attributes for quick sizing [OK]
Common Mistakes:
  • Confusing size with width
  • Using CSS property names as HTML attributes
  • Trying to use scale which is not valid
2. Which of the following is the correct way to set an image width to 200 pixels in HTML?
easy
A. <img src='photo.jpg' width='200px'>
B. <img src='photo.jpg' style='width: 200'>
C. <img src='photo.jpg' width='200'>
D. <img src='photo.jpg' height='200px'>

Solution

  1. Step 1: Understand HTML attribute value format

    In HTML, the width attribute expects a number representing pixels without units.
  2. Step 2: Check each option

    <img src='photo.jpg' width='200px'> uses '200px' which is invalid for the width attribute. <img src='photo.jpg' width='200'> correctly uses '200' without units. <img src='photo.jpg' style='width: 200'> uses CSS syntax incorrectly inside an attribute. <img src='photo.jpg' height='200px'> sets height, not width.
  3. Final Answer:

    <img src='photo.jpg' width='200'> -> Option C
  4. Quick Check:

    Width attribute value is number only [OK]
Hint: Use numbers only for width/height attributes, no units [OK]
Common Mistakes:
  • Adding 'px' units inside width or height attributes
  • Confusing CSS style syntax with HTML attributes
  • Setting height instead of width by mistake
3. What will be the visual result of this HTML code?
<img src='flower.jpg' width='150' height='100'>
medium
A. Image not shown due to invalid attributes
B. Image shown with width 150px and height 100px, possibly distorted
C. Image shown with height 100px, width auto to keep ratio
D. Image shown with width 150px, height auto to keep ratio

Solution

  1. Step 1: Understand width and height attributes together

    When both width and height are set, the image is forced to those exact dimensions, ignoring original proportions.
  2. Step 2: Predict visual effect

    Because the original image ratio may differ, forcing both width and height can distort the image shape.
  3. Final Answer:

    Image shown with width 150px and height 100px, possibly distorted -> Option B
  4. Quick Check:

    Both width and height set = fixed size, possible distortion [OK]
Hint: Setting both width and height fixes size, may distort image [OK]
Common Mistakes:
  • Assuming height auto adjusts when both attributes set
  • Thinking image keeps original ratio automatically
  • Believing invalid attributes cause image not to show
4. Identify the error in this HTML code for sizing an image:
<img src='cat.png' width='300' height='auto'>
medium
A. Using 'auto' in height attribute is invalid in HTML
B. Using '300' without units in width attribute is invalid
C. Missing closing slash in <img> tag
D. No error, code is correct

Solution

  1. Step 1: Check width attribute value

    The width attribute correctly uses the number '300' without units.
  2. Step 2: Check height attribute value

    Height attribute does not accept 'auto' as a value in HTML attributes; it only accepts numbers.
  3. Final Answer:

    Using 'auto' in height attribute is invalid in HTML -> Option A
  4. Quick Check:

    Height attribute must be number, not 'auto' [OK]
Hint: Height and width attributes accept only numbers, no 'auto' [OK]
Common Mistakes:
  • Using CSS values like 'auto' in HTML attributes
  • Thinking <img> needs closing slash in HTML5
  • Thinking width attribute requires 'px' units
5. You want an image to always fill the width of its container but keep its height proportional. Which CSS style should you use?
hard
A. width: auto; height: auto;
B. width: auto; height: 100%;
C. width: 100px; height: 100px;
D. width: 100%; height: auto;

Solution

  1. Step 1: Understand responsive image sizing

    Setting width: 100% makes the image fill the container's width.
  2. Step 2: Maintain aspect ratio

    Setting height: auto lets the browser calculate height to keep the image's original proportions.
  3. Final Answer:

    width: 100%; height: auto; -> Option D
  4. Quick Check:

    Width 100% + height auto = responsive proportional image [OK]
Hint: Use width 100% and height auto for proportional responsive images [OK]
Common Mistakes:
  • Setting fixed height breaks aspect ratio
  • Using auto width with fixed height distorts image
  • Setting both width and height fixed loses responsiveness
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