【发布时间】:2014-11-14 21:46:14
【问题描述】:
【问题讨论】:
-
该网站的右侧似乎没有 100% 的高度。
【问题讨论】:
旧的,但在这里:
div#sidebar {
position: fixed;
top: 0px;
bottom: 0px
}
【讨论】:
试试这个:
<body>
<div id="sidebar">
</div>
</body>
<style>
div#sidebar {
position: fixed;
background-color : #00FF00;
height: 100%;
width: 300px;
overflow: hidden;
}
</style>
【讨论】:
.bg-container{
position: fixed;
width: 100%;
height: 100%;
}
【讨论】:
使用 vh:
视口高度 (vh)。这个单位是根据高度 视口。 1vh 的值等于视口高度的 1%。
height: 100vh;
【讨论】:
html, body{height:100%;}
按照这个并给 div 100%
【讨论】:
浏览器不能很好地计算高度。
height: auto 表示“获得与您的内容相同的高度”。
但是height: 100% 并不总是很好,因为元素的内容定义了它的高度。所以身体高度是由它的内容定义的。因此,当您指示您的内容具有height: 100% 时,您指示它与主体具有相同的高度,但主体与内容的高度相同,因此您指示它与自身一样高。
您必须为 body 和 html(根元素)提供高度。
在这种情况下,我做了一个演示,我为html元素提供了一个嘲笑height: 10000px。
对于侧边栏(带有红色的那个),您需要的唯一属性是 min-height: 100% 属性。正如您在下面的演示中看到的那样,侧边栏将占据其所有垂直空间。刚刚添加了position: fixed; 和right:0 使其固定在右侧。
这里是demo
快速说明:如果您想在实时网站上获得相同的效果,只需使用开发人员工具检查页面并获取适合您需要的 css/标记。
干杯!
【讨论】:
我认为其中一个容器采用最大宽度,检查你的所有容器我认为其中一个容器采用最大宽度的属性,检查容纳 div 的容器。
【讨论】:
您需要有“显示:阻止”,它才能工作。
HTML:
<body>
<div class="container">
<div class="content">
<p>Top bit</p>
<br /><br /><br /><br /><br /><br /><br />
<br /><br /><br /><br /><br /><br /><br />
<br /><br /><br /><br /><br /><br /><br />
<br /><br /><br /><br /><br /><br /><br />
<br /><br /><br /><br /><br /><br /><br />
<br /><br /><br /><br /><br /><br /><br />
<br /><br /><br /><br /><br /><br /><br />
<br /><br /><br /><br /><br /><br /><br />
<br /><br /><br /><br /><br /><br /><br />
<p>Some content</p>
<br /><br /><br /><br /><br /><br /><br />
<br /><br /><br /><br /><br /><br /><br />
<br /><br /><br /><br /><br /><br /><br />
<br /><br /><br /><br /><br /><br /><br />
<br /><br /><br /><br /><br /><br /><br />
<br /><br /><br /><br /><br /><br /><br />
<br /><br /><br /><br /><br /><br /><br />
<br /><br /><br /><br /><br /><br /><br />
<br /><br /><br /><br /><br /><br /><br />
<p>Bottom bit</p>
</div>
<div class="fullHeight sidebar">
<h1>Sticky sidebar</h1>
</div>
</div>
</body>
CSS:
.container {width: 1000px; margin: 0 auto; overflow: hidden; position: relative;}
.content {width: 690; float: left; position: relative;}
.fullHeight {height: 100%; display: block; overflow: hidden; position: fixed; width: 300px; background: red; right: 0; top: 0;}
我将背景设置为红色,因此您可以复制该代码,看看它是否有效。我必须承认,我没有测试过它;但我很确定这可以解决问题。让我知道它是否不起作用;然后我会测试它并修复它。
记住要有'Position: relative;'在内部固定元素的元素上 - 所以它“知道”它应该相对于什么进行固定。如果它不在容器或任何东西内(就像我在上面),那么你可以输入“位置:相对;”在身体标签上;像这样:
body {position: relative;}
【讨论】: