将div放在元素下方,固定位置和100%高度

时间:2015-01-09 18:45:40

标签: html css fullscreen

我有两个div:#lookbookHeader#introContent#lookbookHeader的视频中包含position: fixedheight: 100%height: auto,我从this tutorial开始。我希望#introContent低于#lookbookHeader,无论身高如何,如this page所示。我正在尝试创建一个页面,当页面加载时视频是完整视口,您可以向下滚动以查看下面的其他内容。

我已经尝试了这两个元素的定位,浮动和显示的每个组合,试图让它工作,我只是无法得到它!目前#lookbookHeader没有样式,因为我应用它似乎并不重要,因为当我应用固定位置时视频样式会覆盖它。如果我没有修复视频,那么它不会按宽度/高度正确缩放或调整大小。我错过了什么?

我知道我可以使用jQuery或JavaScript在页面加载时获得#lookbookHeader的高度,但是想知道是否有办法只使用CSS。您可以看到页面here

我已经检查过SO such as this one上的其他帖子,但所有帖子似乎都引用了设置高度的固定元素,而不是这里的情况。

HTML

            <div id="lookbookHeader">
                <video autoplay poster="http://lcoawebservices.com/assets/lp_stainless_SliderStop_5.jpg" id="bgvid">
                    <source src="http://lcoawebservices.com/assets/lp_stainless_Transition_5.webm" type="video/webm">
                    <source src="http://lcoawebservices.com/assets/lp_stainless_Transition_5.mp4" type="video/mp4">
                </video>
                <div id="headerContentContainer">
                    <h1>Lookbook: Spring 2015</h1>
                    <div class="initial-arrow-small"></div>
                </div>
            </div>
        </div>
        <div id="introContent">
            <h2>Bienvenue</h2>
            <p>Lorem ipsum dolor sit amet</p>
            <div class="block red">one</div>    
            <div class="block blue">two</div>   
            <div class="block yellow">three</div>   
            <div class="block green">four</div> 
        </div>

CSS

    #introContent {
      max-width: 100%;
      height: auto;
      background-color: #fff;
    }
    #lookbookHeader video#bgvid {
      position: fixed;
      right: 0;
      bottom: 0;
      min-width: 100%;
      min-height: 100%;
      width: auto;
      height: auto;
      z-index: -100;
      background: url(http://lcoawebservices.com/assets/lp_stainless_SliderStop_5.jpg) no-repeat;
      background-size: cover;
      display: block;
    }

1 个答案:

答案 0 :(得分:0)

添加顶部margin来完成此操作。首先,您需要在html样式中包含body

html,body { //add html
  width: 100%;
  height: 100%;
  font-family: Helvetica, Arial, sans-serif;
  font-size: 11px;
  margin: 0;
  padding: 0;
}

然后将height:100%添加到.container(针对其子女)。然后,您可以在.introContent上设置高度和边距。此外,您还在.introContent内浮动了您未清除的元素。您可以通过添加overflow: hidden

来更正此问题
#introContent {
  min-height: 100%; //add min-height
  max-width: 100%;
  height: auto;
  background-color: red; //changed so you can see the container better
  overflow: hidden; //add to clear floats
  margin: 50% 0 0; //add margin from top
}

FIDDLE

更新

我有更好的解决方案。有时候你只是在思考问题。只需在内容上方添加空白div即可:

<div class="spacer"></div>
<div id="introContent">
   ....

并将其设置为:

.spacer{
   height: 100%;
   width: 100%;
}

这会占用屏幕的高度并将内容压低到

以下

BETTER FIDDLE