Bird
Raised Fist0
CSSmarkup~5 mins

Background repeat in CSS

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
Introduction

Background repeat controls how a background image repeats across an element. It helps you fill space or create patterns.

When you want a small image to cover the entire background by repeating it.
When you want a background image to appear only once without repeating.
When you want the image to repeat only horizontally or vertically.
When you want to create a pattern effect using a repeated image.
When you want to stop the background image from repeating to keep it clean.
Syntax
CSS
background-repeat: repeat | repeat-x | repeat-y | no-repeat | space | round;
repeat repeats the image both horizontally and vertically.
no-repeat shows the image only once.
Examples
Repeats the background image both horizontally and vertically to fill the area.
CSS
background-repeat: repeat;
Shows the background image only once without repeating.
CSS
background-repeat: no-repeat;
Repeats the background image only horizontally.
CSS
background-repeat: repeat-x;
Repeats the background image only vertically.
CSS
background-repeat: repeat-y;
Sample Program

This example shows a box with a small square background image repeated only horizontally across the box. The background color is light blue to highlight the area.

CSS
<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8" />
  <meta name="viewport" content="width=device-width, initial-scale=1" />
  <title>Background Repeat Example</title>
  <style>
    .box {
      width: 15rem;
      height: 10rem;
      border: 2px solid #333;
      background-image: url('https://via.placeholder.com/50');
      background-repeat: repeat-x;
      background-color: #eef;
      margin: 2rem auto;
    }
  </style>
</head>
<body>
  <main>
    <section>
      <h1>Background Repeat: repeat-x</h1>
      <div class="box" aria-label="Box with background image repeated horizontally"></div>
      <p>The small square image repeats only horizontally inside the box.</p>
    </section>
  </main>
</body>
</html>
OutputSuccess
Important Notes

Use background-repeat: no-repeat; to show the image only once.

Try changing repeat-x to repeat-y to see vertical repetition.

Background images should have good contrast with background color for visibility.

Summary

Background repeat controls how background images fill an area.

You can repeat images horizontally, vertically, both, or not at all.

It helps create patterns or keep backgrounds clean and simple.

Practice

(1/5)
1. What does the CSS property background-repeat: no-repeat; do to a background image?
easy
A. It repeats the background image horizontally only.
B. It repeats the background image vertically only.
C. It shows the background image only once without repeating.
D. It repeats the background image both horizontally and vertically.

Solution

  1. Step 1: Understand the meaning of no-repeat

    The value no-repeat means the background image will not be repeated at all.
  2. Step 2: Compare with other repeat options

    Other options like repeat-x or repeat-y repeat the image horizontally or vertically, but no-repeat shows it once.
  3. Final Answer:

    It shows the background image only once without repeating. -> Option C
  4. Quick Check:

    no-repeat means no repeating [OK]
Hint: No-repeat means show image once only, no copies [OK]
Common Mistakes:
  • Confusing no-repeat with repeat-x or repeat-y
  • Thinking no-repeat repeats image once horizontally
  • Assuming no-repeat repeats vertically
2. Which of the following is the correct CSS syntax to repeat a background image only horizontally?
easy
A. background-repeat: repeat;
B. background-repeat: repeat-y;
C. background-repeat: no-repeat;
D. background-repeat: repeat-x;

Solution

  1. Step 1: Recall the CSS values for background-repeat

    repeat-x repeats the background image horizontally, repeat-y vertically, no-repeat no repetition, and repeat repeats both ways.
  2. Step 2: Match the requirement

    The question asks for horizontal repetition only, so repeat-x is correct.
  3. Final Answer:

    background-repeat: repeat-x; -> Option D
  4. Quick Check:

    Horizontal repeat = repeat-x [OK]
Hint: repeat-x means horizontal repeat, repeat-y means vertical [OK]
Common Mistakes:
  • Mixing up repeat-x and repeat-y
  • Using repeat instead of repeat-x for horizontal only
  • Forgetting the hyphen in repeat-x
3. Given the CSS below, how will the background image behave?
div {
  background-image: url('pattern.png');
  background-repeat: repeat-y;
  width: 200px;
  height: 400px;
}
medium
A. The image repeats vertically down the height.
B. The image repeats both horizontally and vertically.
C. The image shows once without repeating.
D. The image repeats horizontally across the width.

Solution

  1. Step 1: Understand background-repeat: repeat-y;

    This value repeats the background image vertically along the height of the element.
  2. Step 2: Apply to the div dimensions

    The div is 200px wide and 400px tall, so the image will stack vertically down the 400px height.
  3. Final Answer:

    The image repeats vertically down the height. -> Option A
  4. Quick Check:

    repeat-y means vertical repeat [OK]
Hint: repeat-y repeats image vertically down the element [OK]
Common Mistakes:
  • Thinking repeat-y repeats horizontally
  • Confusing repeat-y with no-repeat
  • Assuming repeat-y repeats both directions
4. Identify the error in this CSS snippet if the goal is to repeat the background image both horizontally and vertically:
section {
  background-image: url('tile.png');
  background-repeat: repeat-x;
}
medium
A. The value repeat-x repeats only horizontally, not vertically.
B. The property background-repeat is misspelled.
C. The URL must be in double quotes, not single quotes.
D. The background image will not show without background-size.

Solution

  1. Step 1: Check the background-repeat value

    repeat-x repeats the image only horizontally, not vertically.
  2. Step 2: Match with the goal

    The goal is to repeat both horizontally and vertically, so repeat should be used instead.
  3. Final Answer:

    The value repeat-x repeats only horizontally, not vertically. -> Option A
  4. Quick Check:

    repeat-x = horizontal only, not both [OK]
Hint: repeat-x repeats horizontally only, use repeat for both [OK]
Common Mistakes:
  • Using repeat-x when both directions are needed
  • Thinking single quotes break URL syntax
  • Assuming background-size is required for repeat
5. You want a background image to repeat only vertically but stop after 3 repeats. Which CSS approach can achieve this effect?
hard
A. Use background-repeat: no-repeat; and add 3 copies of the image manually.
B. Use background-repeat: repeat-y; and set the container height to 3 times the image height.
C. Use background-repeat: repeat; and limit repeats with background-size.
D. Use background-repeat: repeat-x; and set max repeats to 3.

Solution

  1. Step 1: Understand CSS background-repeat limits

    CSS does not have a direct property to limit the number of repeats.
  2. Step 2: Use container size to control repeats

    By setting background-repeat: repeat-y; and adjusting the container height to exactly 3 times the image height, the image will repeat vertically 3 times and then stop.
  3. Final Answer:

    Use background-repeat: repeat-y; and set the container height to 3 times the image height. -> Option B
  4. Quick Check:

    Control repeats by container size with repeat-y [OK]
Hint: Limit repeats by container size, not CSS property [OK]
Common Mistakes:
  • Expecting CSS to limit repeat count directly
  • Using repeat-x instead of repeat-y for vertical repeats
  • Trying to limit repeats with background-size