Bird
Raised Fist0
CSSmarkup~30 mins

What is responsive design in CSS - Hands-On Activity

Choose your learning style10 modes available

Start learning this pattern below

Jump into concepts and practice - no test required

or
Recommended
Test this pattern10 questions across easy, medium, and hard to know if this pattern is strong
Understanding Responsive Design with CSS
📖 Scenario: You are creating a simple webpage that looks good on both phones and computers. You want the page to change its layout depending on the screen size. This is called responsive design.
🎯 Goal: Build a webpage with a header and a paragraph. Use CSS to make the text size bigger on wide screens and smaller on narrow screens. This will help the page look nice on all devices.
📋 What You'll Learn
Create a basic HTML structure with a <header> and a <p> paragraph.
Add CSS styles to set the font size for the header and paragraph.
Use a CSS media query to change the font size when the screen width is at least 600px.
Ensure the page is accessible and uses semantic HTML.
💡 Why This Matters
🌍 Real World
Responsive design is used to make websites look good on phones, tablets, and computers without needing separate versions.
💼 Career
Web developers must know responsive design to build user-friendly websites that work well on all devices.
Progress0 / 4 steps
1
Create the basic HTML structure
Write the HTML code to create a <header> with the text "Welcome to Responsive Design" and a <p> paragraph with the text "Resize the browser window to see the effect."
CSS
Hint

Use semantic tags like <header> and <p> to structure your content.

2
Add basic CSS styles
Add a <style> block inside the <head> section. Set the font size of the header to 2rem and the font size of the p paragraph to 1rem.
CSS
Hint

Use CSS selectors header and p to set font sizes.

3
Add a media query for larger screens
Inside the existing <style> block, add a CSS media query that applies when the screen width is at least 600px. Inside this media query, set the header font size to 3rem and the p font size to 1.5rem.
CSS
Hint

Use @media (min-width: 600px) to target wider screens.

4
Add accessibility and responsive meta tag
Make sure the <html> tag has the attribute lang="en". Also, confirm the <meta name="viewport" content="width=device-width, initial-scale=1.0"> tag is present inside the <head> to enable responsive scaling on devices.
CSS
Hint

Adding lang="en" helps screen readers. The viewport meta tag makes the page scale on phones.

Practice

(1/5)
1. What is the main purpose of responsive design in web development?
easy
A. To make websites look good on all screen sizes
B. To add animations to a website
C. To create websites only for desktop computers
D. To increase website loading speed

Solution

  1. Step 1: Understand the goal of responsive design

    Responsive design aims to make websites adjust their layout and content to fit different screen sizes like phones, tablets, and desktops.
  2. Step 2: Compare options to the goal

    Only To make websites look good on all screen sizes matches this goal by focusing on making websites look good on all screen sizes.
  3. Final Answer:

    To make websites look good on all screen sizes -> Option A
  4. Quick Check:

    Responsive design = adapt to screen sizes [OK]
Hint: Responsive design means adapting to screen sizes [OK]
Common Mistakes:
  • Confusing responsive design with animations
  • Thinking responsive design is only for desktops
  • Believing it only improves loading speed
2. Which CSS syntax is used to apply styles only on screens smaller than 600px wide?
easy
A. @media screen and (width: 600px) { ... }
B. @media screen and (min-width: 600px) { ... }
C. @media (width > 600px) { ... }
D. @media screen and (max-width: 600px) { ... }

Solution

  1. Step 1: Identify correct media query syntax for max-width

    The correct syntax to target screens smaller than 600px is using max-width: 600px inside @media.
  2. Step 2: Check each option

    @media screen and (max-width: 600px) { ... } uses max-width: 600px correctly. @media screen and (min-width: 600px) { ... } uses min-width which targets larger screens. Options C and D use incorrect syntax.
  3. Final Answer:

    @media screen and (max-width: 600px) { ... } -> Option D
  4. Quick Check:

    max-width targets smaller screens [OK]
Hint: Use max-width for smaller screens in @media [OK]
Common Mistakes:
  • Using min-width instead of max-width for small screens
  • Incorrect media query syntax
  • Missing 'screen' keyword
3. Given the CSS below, what will happen when the browser width is 500px?
body { background-color: white; } @media (max-width: 600px) { body { background-color: lightblue; } }
medium
A. The background color will be lightblue
B. The background color will be black
C. The background color will be white
D. There will be no background color

Solution

  1. Step 1: Understand media query condition

    The media query applies styles when the screen width is 600px or less.
  2. Step 2: Check the browser width and applied styles

    At 500px width, the media query condition is true, so the background color changes to lightblue, overriding the default white.
  3. Final Answer:

    The background color will be lightblue -> Option A
  4. Quick Check:

    Width 500px < 600px triggers lightblue background [OK]
Hint: Media queries override styles when conditions match [OK]
Common Mistakes:
  • Ignoring media query and thinking default style applies
  • Confusing max-width with min-width
  • Assuming no style change occurs
4. Identify the error in this CSS snippet for responsive design:
@media max-width: 800px { .container { width: 100%; } }
medium
A. Using width instead of max-width
B. Missing parentheses around max-width condition
C. Incorrect selector .container
D. No error, code is correct

Solution

  1. Step 1: Check media query syntax

    The correct syntax requires parentheses around the condition, like (max-width: 800px).
  2. Step 2: Identify the error in the snippet

    The snippet misses parentheses, so it is invalid CSS and won't work as intended.
  3. Final Answer:

    Missing parentheses around max-width condition -> Option B
  4. Quick Check:

    Media queries need parentheses [OK]
Hint: Always wrap media conditions in parentheses [OK]
Common Mistakes:
  • Omitting parentheses in @media queries
  • Confusing max-width with width property
  • Thinking selector causes error
5. You want images on your website to resize smoothly on different devices. Which CSS approach best supports responsive design?
hard
A. Use only max-width without height
B. Set fixed width and height in pixels
C. Set image width to 100% and height to auto
D. Use background images instead of <img> tags

Solution

  1. Step 1: Understand image resizing in responsive design

    Images should scale with their container to fit different screen sizes without distortion.
  2. Step 2: Evaluate CSS options for images

    Setting width to 100% and height to auto keeps the image's aspect ratio and allows it to resize smoothly.
  3. Final Answer:

    Set image width to 100% and height to auto -> Option C
  4. Quick Check:

    Width 100% + height auto = responsive images [OK]
Hint: Use width 100% and height auto for responsive images [OK]
Common Mistakes:
  • Using fixed pixel sizes causing images to not resize
  • Ignoring height causing distortion
  • Thinking background images solve all responsive needs