【发布时间】:2014-09-07 01:36:06
【问题描述】:
我有一个用例,我想保持跨度(或 div 或其他)的高度对屏幕尺寸做出响应。此外,在这个跨度之上会有一个固定高度的标题(我的意思是即使屏幕高度发生变化,我也想保持它的固定高度)。
我做了一个plunker来说明: 链接:plunker responsive height
在上面的plunker中:
绿色跨度不得超出黑色边框跨度。
紫色 div 的高度不能小于 plunker 中的高度。
滚动条只能出现在绿色 div 中。
当屏幕尺寸减小时,绿色 div 的高度应自行调整。
标题必须始终位于顶部。
代码:
<!DOCTYPE html>
<html style="border:1px solid red;height:90%">
<head>
<style>
.black{
border:1px solid black;
height:70%;
display:block;
}
</style>
</head>
<body style="height:100%">
<span class="black">
<span style="display:block;border:1px solid purple;height:15%;min-height:70px;">
Fixed Header - purple color <br>height givnen 15% <br> and min height also set
</span>
<span style="margin-top:2%;border :1px solid green;display: block;overflow:scroll;height:75%">
<ul>
<li>Responsive body</li>
<br>
<li>Should never go out of the black boder span</li>
<br>
<li>should be responsive acccording to the height of the body</li>
<br>
<li>Item4</li>
<br>
<li>Item5</li>
<br>
<li>Item6</li>
<li>Item7</li>
<br>
<li>Item8</li><li>Item1</li>
<li>Item9</li>
<li>Item10</li>
<li>Item11</li>
<li>Item7</li>
<br>
<li>Item8</li><li>Item1</li>
<li>Item9</li>
<li>Item10</li>
<li>Item11</li>
</ul>
</span>
</span>
</body>
</html>
请注意:我不想使用 JavaScript 进行任何动态调整
最佳实践帮助:
是否可以为 HTML 和正文提供百分比高度(就像我在 plunker 中尝试做的那样)以实现高度响应?
【问题讨论】:
-
我没有完全理解你的第五点。 “始终保持在顶部”是指像 this site 上的黄色框保持在右下角吗?
-
另外,不要使用
<span>,然后将其设置为display:block,而是使用<div> -
所以它是跨度(或 div 或其他)的高度,而不是标题中的您自己的高度 :)
-
@parchment :不 - 我的意思是滚动只会出现在绿色区域,而不是整个 body/html/outermost span。
-
@Paulie_D 我知道 :)。
标签: html css responsive-design height