使用封面背景图片

时间:2017-03-09 09:18:12

标签: javascript html css background bootstrap-4

我不完全确定这是否应该如此简单。我一直在尝试不同的方法,但我似乎无法绕过它。

我的首页上有一个封面部分,里面有一个徽标和一个按钮:

<section id="cover">

        <div id="cover-caption" class="animated fadeInDown">

            <p style="padding-bottom: 2rem;"><img src="http://bizcentralusa.com/wp-content/uploads/2016/05/placeholder-sample-logo.png" alt="Sample Logo" /></p>
            <p class="lead">
                <a class="btn btn-primary btn-lg" data-scroll href="#getStarted" role="button">GET STARTED <i class="fa fa-angle-right animated wobble infinite" aria-hidden="true"></i>
                </a>
            </p>

        </div>

    </section>

封面页的背景是一半覆盖页面的笔记本电脑的图像。我希望徽标和按钮位于页面顶部和笔记本电脑屏幕的开头之间。

这是我到目前为止所做的事情(我认为你更容易直观地看到我想要实现的目标,而不是让我解释一下)......

Demo

通常情况下,我会在#cover-caption容器上放一些填充物,直到它向下推到我想要的位置,但这对所有屏幕分辨率都不起作用。它在我编辑的PC上看起来很不错,但是当我在我的Macbook上测试它时,虽然徽标和按钮位于相同位置,但背景图像已经改变,因为浏览器高度不同。我想我要做的就是让我的徽标和按钮自动调整位置,以便在浏览器窗口的高度发生变化时使用背景图像进行更改。这甚至可能吗?

This is my full code

2 个答案:

答案 0 :(得分:1)

这应该很容易通过css flexbox和视口高度。

#cover-caption{
  display: flex;
    height: 66vh;
    flex-direction: column;
  justify-content: center;
}
#cover-caption > *{
  flex: 0 1 auto;
}

参见改编的fiddle

答案 1 :(得分:0)

你应该尝试像

这样的CSS
#cover-caption{
    display: block;width: 20%;margin: 20px auto;position: relative;top: 100px;
}

这可能会有所帮助。