【问题标题】:Content div Not 100% height and width内容 div 不是 100% 的高度和宽度
【发布时间】:2015-09-11 04:57:06
【问题描述】:

我有两个面板,一个是侧边栏,高度为 100%,宽度为 100px(紫色),我还有一些按钮(橙色),然后我有一个顶部 div 为 100 的右侧面板% 宽度和 100px 高度(绿色),此面板包含 3 个向右浮动的按钮(灰色)。

现在在这个顶部面板下方,我有一个内容 div,它应该是剩余宽度的 100% 和剩余高度的 100%(黄色),但是当您添加更多侧边栏按钮(橙色按钮)时,黄色面板会插入一个白色边框在底部,如果您也水平调整浏览器窗口的大小,它会在右侧插入一个空白边框,这个空白区域就是主体,但是很难尝试使内容(黄色)面板适合剩余的宽度和高度。

快速示例:

http://i.stack.imgur.com/g088H.jpg

这是我目前的工作示例:Demo

html {height: 100%;}

body {height: 100%; margin: 0px;}

#container
{
	background-color: #f00;
	height: 100%;
}

#sidebar
{
	background-color: #F0F; /*#E82E11*/
	width: 100px;
	height: 100%;
	float: left;
	padding-top: 100px;	
}

#rightcontent
{
	background-color: #00f;
	width: 100%;
	height: 100%;
	padding-left: 100px;
	box-sizing: border-box;
}

#topcontent
{
	background-color: #0f0;
	width: 100%;
	height: 100px;
	min-width: 380px;
}

#content
{
	background-color: #ff0;
	width: 100%;
	min-height: 100%;
	min-width: 380px;
}

.sidebaroptions
{
background-color: #FF2100;
border: 0px solid #F00;
width: 100%;
height: 80px;
margin: auto;
padding: 10px 0px;
box-sizing: border-box;
cursor: pointer;
color: #FFF;
text-align: center;
}

.sidebaroptions:hover
{
	background-color: #F50000;
	cursor: pointer;
}

.sidebaroptionsselected
{
	background-color: #F50000;
}

.topoptions

{
    width: 120px;
    height: 100px;
    background-color: #3C3C3C;
    color: #FFF;
    box-sizing: border-box;
    text-align: center;
    float: right;
}

.topoptions:hover {
    background-color: #4D4D4D;
    cursor: pointer;
}
<div id="sidebar">
	<div class="sidebaroptions">new</div>
	<div class="sidebaroptions">new</div>
	<div class="sidebaroptions">new</div>
	<div class="sidebaroptions sidebaroptionsselected">new</div>
	<div class="sidebaroptions">new</div>
	<div class="sidebaroptions">new</div>
	<div class="sidebaroptions">new</div>
	<div class="sidebaroptions">new</div>
	<div class="sidebaroptions">new</div>
	<div class="sidebaroptions">new</div>
	</div><!--End of SideBar-->
	
	<div id="rightcontent">
		<div id="topcontent">
			<div class="topoptions">Config</div>
			<div class="topoptions">Config</div>
			<div class="topoptions">Config</div>
		</div>
		
		<div id="content">
			Bottom Content
		</div>
		
	</div>

【问题讨论】:

  • 我已经通过将 min-width 添加到内容 div(黄色)来解决问题的右侧空白宽度,但是我仍然很难调整底部空间的宽度,如果有人的话,我将不胜感激可以帮我解决这个问题。
  • 同上,贴出你的代码
  • 您可能正在寻找类似这样的答案:stackoverflow.com/questions/18354018/…
  • 我很困惑。您的描述与您提供的图片或任何示例不符。 sn-p 也给出了完全不同的结果。
  • 以后尽量把html和css一起发。我将它们结合起来,看到了黄色的 div,但它在我的版本中到达了底部。请告诉我您使用的是哪个浏览器,或者我是否遗漏了什么。

标签: html css


【解决方案1】:

请尝试删除您的正文样式 height:100%,并在您的内容元素中添加一个带有 clear:both 的元素,如下所示:

<div id="content">
            Bottom Content
    <br style="clear:both;">
</div>

【讨论】:

  • 感谢 Leo Farmer,我试过了但没有用,我还更新了代码,因为我缺少 #container 和 #sidebar。我还必须提到我正在使用样板。
  • 更新:我尝试了 Leo Farmer 在那里指出的关于从身体上移除 100% 的高度,它成功了!!。非常感谢所有为此提供答案的人。我真的很感谢他们!。
  • 更新:我使用 Leo Farmer 提供的之前的代码进行了此操作,但是如果我从左侧删除一些按钮,则侧边栏和黄色区域会变短,如下所示:sysarmor.com/dev/ISSUE
  • 看来我现在可以正常工作了,这就是我的做法:我将 body 和 html 的最小高度设置为 400 像素(避免底部有空格的最小值),然后我更改了 # rightcontent bakground 颜色与侧边栏的颜色相同,因此侧边栏下方的空间较短时会相同,因此不会被注意到,如果添加更多按钮则没有问题,到目前为止它工作正常。
  • 我放了这个布局的完整代码,以防有人想下载并使用它或修改/增强它。 sysarmor.com/dev/applayout.zip
猜你喜欢
  • 2011-08-07
  • 2015-05-09
  • 2013-04-04
  • 2014-11-30
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-02-10
  • 2013-01-02
相关资源
最近更新 更多