html - 背景图片只覆盖文字

标签 html css

我想做的是:在页面顶部有一个带有链接和 Logo 的标题(可行)。然后在下面我想要一个占据屏幕其余部分的图像。现在,图片仅在我那里的文字后面。

这是我用于该部分的 HTML:

<div class="main">
        <div class="container">
            <h1>Title</h1>
            <h3>Subtitle</h3>
        </div>
</div>

这是 CSS:

.main{
    background-image:url('background1.jpg');
    background-repeat:no-repeat;
    background-size:cover;
}

.main h1{
    color:#ffffff;
}

.main h3{
    color:#ffffff;
}

最佳答案

一张背景图片只覆盖它所属元素的背景。你的 div main仅与其包含的内容一样大。背景被切断,因为 div 太大了。尝试将背景设置为body的背景:

body {
    background-image:url('background1.jpg');
}

这应该覆盖整个页面。 See this fiddle

为了理解我在上面的陈述中的意思,添加一堆 <br/> s 至 .main并观察背景图像如何随着 div 的大小扩展。

要利用这一点,您可以调整 div 的高度。要使其在不添加内容的情况下填满 100% 的屏幕,您需要添加以下内容:

html, body {
    height:100%;
}
.main {
    min-height:100%;
}

JSFiddle using 100% heights

关于html - 背景图片只覆盖文字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23576930/

相关文章:

css - 定位 span 元素不会改变 div 宽度

HTML5/CSS - 将大图像放入较小的 DIV

css - 图像的尺寸、分辨率和质量建议

javascript - 更改运行时内置的特定 div 的字体大小

javascript - 禁用按钮时启用效果

html - 在 iphone 中被剪切的文本

javascript - ng-repeat 不渲染最后两个 div

HTML 在使用 javascript 单击按钮时显示更多文本

javascript - 在循环中添加带有参数的事件监听器

html - 在 CSS 中选择具有特定类的类