我有两个div:#lookbookHeader
和#introContent
。 #lookbookHeader
的视频中包含position: fixed
,height: 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;
}
答案 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
}
我有更好的解决方案。有时候你只是在思考问题。只需在内容上方添加空白div
即可:
<div class="spacer"></div>
<div id="introContent">
....
并将其设置为:
.spacer{
height: 100%;
width: 100%;
}
这会占用屏幕的高度并将内容压低到
以下