Javascript 使用封面背景图像调整元素大小

Javascript 使用封面背景图像调整元素大小,javascript,html,css,background,bootstrap-4,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/

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

我在头版有一个封面部分,里面有一个徽标和一个按钮:

<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>

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

这就是我到目前为止所得到的(我认为你只是直观地看到我试图实现的目标,而不是让我解释它)

通常我会在封面标题容器上添加一些填充,直到它向下推到我想要的位置,但这并不适用于所有屏幕分辨率。它在我正在编辑的PC上看起来不错,但当我在Macbook上测试它时,尽管徽标和按钮位于同一位置,但背景图像由于浏览器高度不同而发生了变化。我想我要做的是,当浏览器窗口的高度改变时,让我的徽标和按钮自动调整它们的位置,以随背景图像的变化而变化。这可能吗

这应该很容易通过和视口高度实现

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

请参见改编的

您应该像css一样尝试

#cover-caption{
    display: block;width: 20%;margin: 20px auto;position: relative;top: 100px;
}
这可能会有帮助