Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

background-image doesn't appear if <div> is empty?

Tags:

html

css

I created a <div> first thing in the <body> to draw a top line at the top of the page:

<body>
    <div class="bordertop"></div>
    .....
</body>

and the style:

body {
    font-family: Helvetica, Arial, sans-serif;
    -webkit-text-size-adjust: 100%;
    margin:0;
}
.bordertop {
    background-image: url(../images/top_border.png);
    background-repeat: repeat-x;    
}

However, the top_border image doesn't appear unless I write some text inside the <div> but I don't want to. How could I fix this?

like image 398
iTurki Avatar asked Aug 15 '12 03:08

iTurki


People also ask

Why is my background image not showing up in HTML?

Make sure the image path is set correctly in the background-image url. Once you have made sure that your CSS file is linked correctly, also check that the image itself is set correctly. Again, you will want to open your code inspector in the browser to check.

Does Z Index Working with background image?

No, z-index cannot be applied to a background image.

Can I use a div as background?

To overwrap one div on another (make an overlay) you have to put them into same element, in this example it's #wrapper div. Put position: relative and width/height for wrapper; position: relative also should be set for your content div and position: absolute; top: 0; left: 0; for your background.

How do I keep an image in a div?

To auto-resize an image or a video to fit in a div container use object-fit property. It is used to specify how an image or video fits in the container. object-fit property: This property is used to specify how an image or video resize and fit the container.


1 Answers

Since the div is empty, there's no content to push it "open" leaving the div to be 0px tall. Set explicit dimensions on the div and you should see the background image.

.bordertop 
{
    background-image: url(../images/top_border.png);
    background-repeat: repeat-x;    
    height: 100px;
    width: 100%; /* may not be necessary */
}
like image 149
Luke Avatar answered Oct 14 '22 23:10

Luke