使用Bootstrap 3.0实现多个堆叠的全宽度背景图片

6

我正在尝试使用Bootstrap 3.0创建一个静态网页。

该页面基本上是一个叙述,由一系列堆叠的带有背景图像的部分组成,其中文本和其他图像/元素重叠在顶部。

I've

该页面只需从顶部向下滚动,每个部分的背景图像应填充水平宽度。

稍后,我还将使用Skrollr(https://github.com/Prinzhorn/skrollr)添加图像的视差效果。

然而,现在,我正在努力使用Bootstrap制作HTML/CSS。

最初,我认为我可以做这样的事情:

<body>
<div class="container">
    <section id="first">
        <div class="row annoucement col-md-4 col-md-offset-4">
            <h1>The story of...</h1>
        </div>
    </section
    <section id="second">
        <div class="row gallery col-md-4 col-md-offset-4">
            <!-- Image gallery boxes -->
        </div>
    </section
</div>

然后在 CSS 中:

    #first {
        background: url(img/1.jpg) no-repeat center center fixed;
        -webkit-background-size: cover;
        -moz-background-size: cover;
        -o-background-size: cover;
        background-size: cover;
    }

然而,背景图片并不可见- #first元素的大小为1140px x 0px,因此图片没有显示。
我怀疑我没有正确使用标签类型- 你有没有一些关于如何在Bootstrap中使上述布局工作的建议?
1个回答

5
您的网格系统标记不正确,您应该查看文档中的示例,基本上.row应该是容器元素。如果您想让背景覆盖整个页面,则无法将节放置在容器内。这是我建议的做法:请参考文档中的示例
<body>
    <section id="first">
        <div class="container">
            <div class="row announcement">
                <div class="col-md-4 col-md-offset-4">
                     <h1>The story of...</h1>
                </div>
            </div>
        </div>
    </section>
    <section id="second">
        <div class="container">
            <div class="row gallery">
                <div class="col-md-4 col-md-offset-4">
                    <!-- Image gallery boxes -->
                </div>
            </div>
        </div>
    </section>
</body>

尽管您可能希望使用更大的跨度来容纳内容,因为我认为col-md-4太小了,但这取决于您自己的决定 :)

太棒了,图片现在显示出来了 =)。唯一的问题是 - 高度由内部元素(例如<h1> The story of...</h1>)设置,而不是背景图像的尺寸,因此您只能看到图像的薄条。有没有办法显示背景图像的完整垂直尺寸?(但仍然可以水平缩放以适应)。 - victorhooi
1
除非您将该部分的高度设置为图像的高度,否则通常会在部分顶部和底部设置大量填充以增加其大小。 - omma2289
啊哈,我想可能有一种方法可以垂直适应图片。好的,所以我可以在#first上设置 widthpadding-bottom 中的任意一个,这样它就会适应完整的背景图片。width 似乎更容易一些,因为我只需将其设置为照片,无需担心内部内容 - 然而,您是说我应该使用 padding-bottom 吗? - victorhooi
取决于您的需求以及如何处理背景图像大小,因为如果您希望它具有响应性(使用background-size:cover),那么您不知道图像尺寸将是多少。 - omma2289
响应式设计会很好。但是,即使使用填充,那也不算真正的响应式设计,对吧?基本上,我希望它能够水平缩放以适应屏幕(左右),然后显示完整的垂直尺寸,无论它是多少 - 我可以用什么来实现这个效果? - victorhooi

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接