Bird
Raised Fist0
HTMLmarkup~8 mins

Image sizing basics in HTML - Performance & Optimization

Choose your learning style10 modes available
Performance: Image sizing basics
HIGH IMPACT
This affects how quickly images load and how smoothly the page renders, impacting the page's loading speed and visual stability.
Displaying images on a webpage efficiently
HTML
<img src="photo-200w.jpg" width="200" height="150" alt="Description">
The browser downloads an image sized close to display size, reducing file size and load time, and reserves space to prevent layout shifts.
📈 Performance GainReduces load time significantly; avoids layout shifts improving LCP and CLS
Displaying images on a webpage efficiently
HTML
<img src="large-photo.jpg" style="width: 200px; height: auto;">
The browser downloads a large image file but displays it smaller, wasting bandwidth and causing slower load times.
📉 Performance CostBlocks rendering longer due to large file download; triggers layout shifts when image resizes
Performance Comparison
PatternDOM OperationsReflowsPaint CostVerdict
Large image resized with CSS onlyLowMultiple reflows as image loads and resizesHigh due to repaint[X] Bad
Image sized with width and height attributesLowSingle layout passLow paint cost[OK] Good
Rendering Pipeline
When an image is sized properly, the browser can reserve the correct space during layout, avoiding reflows and repaints caused by late image resizing.
→Layout
→Paint
→Composite
⚠️ BottleneckLayout stage due to reflows triggered by image size changes
Core Web Vital Affected
LCP
This affects how quickly images load and how smoothly the page renders, impacting the page's loading speed and visual stability.
Optimization Tips
1Always specify width and height attributes on images to reserve space.
2Use image files sized close to their display size to reduce load time.
3Avoid resizing large images with CSS alone to prevent layout shifts and slow loading.
Performance Quiz - 3 Questions
Test your performance knowledge
Why should you specify width and height attributes on images?
ATo make images load faster by skipping decoding
BTo reserve space and prevent layout shifts during loading
CTo reduce the file size of the image
DTo automatically compress images in the browser
DevTools: Performance
How to check: Record a page load and look for long tasks caused by image decoding and layout shifts; use the Layout Shift Regions overlay in the Rendering tab.
What to look for: Look for layout shifts caused by images resizing after load and long image decode times delaying first paint.

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