Learn CSS Flexbox by Building a Photo Gallery - Step 20

Create a media query for screens smaller than 800px in width. In that media query, create a #gallery img rule and set the width property to 50% . This will convert your gallery to a two-column layout. - I don’t remember learning about how to add a media query I have tried every possible solution I can think of so id appreciate any help.

Your new @media query should have a max-width of 800px like this: @media (max-width: 800px).

  **Your code so far**
/* file: index.html */
<!DOCTYPE html>
<html>
<head>
  <meta charset="utf-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>Photo Gallery</title>
  <link rel="stylesheet" href="./styles.css">
</head>
<body>
  <div class="header">
    <h1>CSS FLEXBOX PHOTO GALLERY</h1>
  </div>
  <div id="gallery">
    <img src="https://cdn.freecodecamp.org/curriculum/css-photo-gallery/1.jpg"/>
    <img src="https://cdn.freecodecamp.org/curriculum/css-photo-gallery/2.jpg"/>
    <img src="https://cdn.freecodecamp.org/curriculum/css-photo-gallery/3.jpg"/>
    <img src="https://cdn.freecodecamp.org/curriculum/css-photo-gallery/4.jpg"/>
    <img src="https://cdn.freecodecamp.org/curriculum/css-photo-gallery/5.jpg"/>
    <img src="https://cdn.freecodecamp.org/curriculum/css-photo-gallery/6.jpg"/>
    <img src="https://cdn.freecodecamp.org/curriculum/css-photo-gallery/7.jpg"/>
    <img src="https://cdn.freecodecamp.org/curriculum/css-photo-gallery/8.jpg"/>
    <img src="https://cdn.freecodecamp.org/curriculum/css-photo-gallery/9.jpg"/>
    <img src="https://cdn.freecodecamp.org/curriculum/css-photo-gallery/10.jpg"/>
  </div>
</body>
</html>
/* file: styles.css */
* {
box-sizing: border-box;
}

body {
margin: 0;
font-family: Arial;
background: #EBE7E7;
}

.header {
text-align: center;
padding: 32px;
background: #E0DDDD;
}

#gallery {
display: flex;
flex-direction: row;
flex-wrap: wrap;
justify-content: center;
align-items: center;
padding: 0 4px;
}

#gallery img {
width: 50%;
height: 300px;
object-fit: cover;
margin-top: 8px;
padding: 0 4px;
border-radius: 10px;
}

@media (max-width: 800px) #gallery image{width: 50%;}

  **Your browser information:**

User Agent is: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/103.0.5060.114 Safari/537.36 Edg/103.0.1264.62

Challenge: Learn CSS Flexbox by Building a Photo Gallery - Step 20

Link to the challenge:

The media query itself also uses opening and closing curly braces.

@media (condition) { 
  /* put CSS in here */
}

Also, your image selector is slightly off:

“create a #gallery img rule”

@media {(max-width: 800px)} this is what i have, what is the problem??


you mean like this? it’s still not as its still not working

1 Like

Not quite. Look again at my example:

@media (condition) { 
  /* put CSS in here */
}

The “condition” is when the media query should take effect, which in your case is up to a max width of 800px. And then inside the curly braces you put the actual CSS you want to use for the media query.

1 Like

@media (max-width: 800px) like this? i still get add an @media query error?

like you need to create a
#galley img {
width:50%
}
inside
Screenshot_2

Thank you for your explanation. I don’t think media queries are covered in the curriculum up to this point.

I believe you are correct. Actually, I think they are in the process of removing the media query steps from all of the courses.