Bird
Raised Fist0
CSSmarkup~30 mins

Breakpoints in CSS - Mini Project: Build & Apply

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
Responsive Layout with CSS Breakpoints
📖 Scenario: You are creating a simple webpage that changes its layout depending on the screen size. This helps the page look good on phones, tablets, and desktops.
🎯 Goal: Build a webpage with a colored box that changes its background color and size at different screen widths using CSS breakpoints.
📋 What You'll Learn
Create a basic HTML structure with a <div> element having the class box.
Add a CSS rule to style the .box with a default background color and size.
Add a CSS breakpoint for screen widths 600px and above to change the box's background color and size.
Add a CSS breakpoint for screen widths 900px and above to change the box's background color and size again.
💡 Why This Matters
🌍 Real World
Websites need to look good on phones, tablets, and desktops. Using breakpoints helps adjust layouts and styles for different screen sizes.
💼 Career
Front-end developers use CSS breakpoints daily to build responsive websites that work well on all devices.
Progress0 / 4 steps
1
Create the HTML structure with a box
Write the HTML code to create a <div> element with the class box inside the <body> tag. Include the basic HTML5 skeleton with <!DOCTYPE html>, <html lang="en">, <head> with charset and viewport meta tags, and a <title>.
CSS
Hint

Remember to include the <div> with class box inside the <body> tag.

2
Add default CSS for the box
Inside a <style> tag in the <head>, write CSS to style the .box class with a background color of lightblue, width of 100px, height of 100px, and center it horizontally using margin.
CSS
Hint

Use margin-left: auto; and margin-right: auto; to center the box horizontally.

3
Add a breakpoint for screens 600px and wider
Add a CSS media query for screen widths of at least 600px using @media (min-width: 600px). Inside it, change the .box background color to lightgreen and set the width and height to 150px.
CSS
Hint

Use @media (min-width: 600px) and inside it redefine the .box styles.

4
Add a breakpoint for screens 900px and wider
Add another CSS media query for screen widths of at least 900px using @media (min-width: 900px). Inside it, change the .box background color to lightcoral and set the width and height to 200px.
CSS
Hint

Add a new media query with @media (min-width: 900px) and update the .box styles inside it.

Practice

(1/5)
1. What is the main purpose of CSS breakpoints in responsive design?
easy
A. To load different images
B. To add animations to elements
C. To change styles based on screen size
D. To create fixed-width layouts

Solution

  1. Step 1: Understand what breakpoints do

    Breakpoints let CSS apply different styles depending on the screen size.
  2. Step 2: Identify the purpose in responsive design

    This helps websites look good on phones, tablets, and desktops by adjusting layout and style.
  3. Final Answer:

    To change styles based on screen size -> Option C
  4. Quick Check:

    Breakpoints = change styles by screen size [OK]
Hint: Breakpoints adjust styles for different screen sizes [OK]
Common Mistakes:
  • Thinking breakpoints add animations
  • Confusing breakpoints with image loading
  • Believing breakpoints fix layout width
2. Which of the following is the correct syntax to apply styles for screens smaller than 600px?
easy
A. @media screen and (max-width: 600px) { ... }
B. @media screen and (min-width: 600px) { ... }
C. @media screen and (width: 600px) { ... }
D. @media screen or (max-width: 600px) { ... }

Solution

  1. Step 1: Understand max-width usage

    To target screens smaller than 600px, use max-width: 600px.
  2. Step 2: Check syntax correctness

    @media screen and (max-width: 600px) { ... } uses correct syntax: '@media screen and (max-width: 600px) { ... }'.
  3. Final Answer:

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

    max-width targets smaller screens [OK]
Hint: Use max-width for smaller screens, min-width for larger [OK]
Common Mistakes:
  • Using min-width instead of max-width for smaller screens
  • Using 'or' instead of 'and' in media query
  • Using width instead of max-width or min-width
3. Given the CSS below, what background color will the body have on a screen width of 700px?
@media (max-width: 600px) { body { background: red; } } @media (min-width: 601px) { body { background: blue; } }
medium
A. Red
B. No background color
C. Both red and blue
D. Blue

Solution

  1. Step 1: Check which media query matches 700px

    700px is greater than 600px, so max-width: 600px does not apply.
  2. Step 2: Identify the matching media query

    min-width: 601px applies for 700px, so background: blue is used.
  3. Final Answer:

    Blue -> Option D
  4. Quick Check:

    700px > 600px uses min-width styles [OK]
Hint: Check if width fits max-width or min-width condition [OK]
Common Mistakes:
  • Choosing red because max-width looks similar
  • Thinking both colors apply simultaneously
  • Ignoring min-width condition
4. Identify the error in this media query:
@media screen and max-width: 800px { body { font-size: 1.2rem; } }
medium
A. Missing parentheses around max-width condition
B. Using 'screen' instead of 'all'
C. font-size value is invalid
D. No error, syntax is correct

Solution

  1. Step 1: Check media query syntax

    Media features like max-width must be inside parentheses.
  2. Step 2: Identify the missing parentheses

    The query should be '@media screen and (max-width: 800px) { ... }'.
  3. Final Answer:

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

    Media features need parentheses [OK]
Hint: Put media features inside parentheses ( ) [OK]
Common Mistakes:
  • Omitting parentheses around conditions
  • Confusing media types like screen and all
  • Thinking font-size value causes error
5. You want a layout that shows a sidebar only on screens wider than 900px. Which CSS snippet correctly uses a breakpoint to hide the sidebar on smaller screens?
hard
A. @media (min-width: 900px) { .sidebar { display: none; } }
B. @media (max-width: 900px) { .sidebar { display: none; } }
C. @media (max-width: 900px) { .sidebar { display: block; } }
D. @media (min-width: 900px) { .sidebar { display: block; } }

Solution

  1. Step 1: Understand the requirement

    The sidebar should be hidden on screens smaller than or equal to 900px.
  2. Step 2: Choose the correct media query

    Use max-width: 900px to target smaller screens and set display: none to hide sidebar.
  3. Final Answer:

    @media (max-width: 900px) { .sidebar { display: none; } } -> Option B
  4. Quick Check:

    max-width hides sidebar on small screens [OK]
Hint: Use max-width to hide on small screens, min-width to show on large [OK]
Common Mistakes:
  • Using min-width to hide sidebar on large screens
  • Setting display: block inside max-width query
  • Confusing when to hide or show sidebar