Aaroninau
Aaroninau

Reputation: 143

How to stop background image repeating for empty space?

Just ran into a problem with repeating background image.

In the case when the content is very short, shorter than the monitor height, the background image is still repeating for the extra space.

Please refer to the screenshot.

Orange bar is my footer. The bottom grey area is the extra space.

Can I make stop the background image repeating for the bottom area?

I mean ideally the background image just repeats as long as my content.

Any help will be appreciated.

My Image.

Upvotes: 9

Views: 89506

Answers (5)

PremiumBanana
PremiumBanana

Reputation: 21

you can set your background directly in CSS making like so:

body {
 background: url(../images/background.jpg);
 background-size: cover;
 background-repeat: no-repeat;
}

Hope this helps :D

Upvotes: 2

Mohamed Sabry
Mohamed Sabry

Reputation: 3183

Try this in the style section.

background-size: cover;
background-repeat:no-repeat;

Upvotes: 0

Manoj De Mel
Manoj De Mel

Reputation: 995

It would be good if you could post your code here.

Try something like this:

<div>     
 <div>
  <div style="float:left;"></div>
  <div style="float:left;"></div>
  <div style="clear:both"></div>
 </div>
 <div class="footer"></div>
</div>

Upvotes: 1

danielsan
danielsan

Reputation: 446

Rather than sticking the background onto the body, slap another div in there and put the background onto that. The inner content will push the div to the right height and will stop at that point (unless otherwise stated).

eg:

<!doctype html>
<html>
<body>
    <div id="background">
        Your inner content
    </div>    
</body>
</html>

and put your repeating background onto #background in your css rather than your body.

Upvotes: 7

Mr_Green
Mr_Green

Reputation: 41832

You can use the below property.

background-repeat:no-repeat;

For more information go through this site

You can also give repeat-y or repeat-x to make the background-image repeat vertically or horizontally respectively.

If you want to give dimensions to your background image then you can use

background-size:100px 100px; /* width height */

I think this is what you mean.

Upvotes: 23

Related Questions