如何使div高度填充可用空间
|
我有3列的布局,下面有一些详细信息。
您会注意到该列的高度之一大于其他列的高度。我希望其他两个div自动填充剩余空间(直到蓝色div)。文本将被动态加载,因此我需要使用它来处理任何较大的列(并增加任意数量)。
可以使用HTML / CSS完成此操作,还是必须使用一些JavaScript?
HTML代码(相关部分):
<div id=\"content\">
<div id=\"iconsHolder\">
<div id=\"info\">
<div id=\"info_content\">
<p><?php echo img(\'images/man.png\'); ?></p>
<h2>Some guy over here</h2>
<p class=\"light justify\">It doesn\'t matter what is being said at the moment. Nothing is said here.</p>
</div>
</div>
<div id=\"comp\">
<div id=\"comp_content\">
<p><?php echo img(\'images/computer.png\'); ?></p>
<h2>Computer Development</h2>
<p class=\"light justify\">Neque porro quisquam est qui dolorem ipsum quia dolor sit amet, consectetur, adipisci velit... Neque porro quisquam est qui dolorem ipsum quia dolor sit amet, consectetur, adipisci velit...</p>
</div>
</div>
<div id=\"story\">
<div id=\"story_content\">
<p><?php echo img(\'images/library.png\'); ?></p>
<h2>Story telling</h2>
<p class=\"light justify\">This is another short story.</p>
</div>
</div>
</div>
<div id=\"details\">
Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry\'s standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book. It has survived not only five centuries, but also the leap into electronic typesetting, remaining essentially unchanged. It was popularised in the 1960s with the release of Letraset sheets containing Lorem Ipsum passages, and more recently with desktop publishing software like Aldus PageMaker including versions of Lorem Ipsum.
</div>
</div>
CSS代码(相关部分):
#content {
width: 60em;
margin: 0px auto;
}
#info,#comp,#story {
width: 18em;
float: left;
padding-left: 1em;
padding-right: 1em;
padding-top: 2em;
background-color: #DDD;
height: 100%;
}
#info_content,#comp_content,#story_content {
text-align: center;
}
#details {
clear: both;
background-color: #EEF;
padding: 1em;
}
没有找到相关结果
已邀请:
8 个回复
鞋扣蚊冈借
此方法(至少在这种情况下)确保所有背景都是相同的。
讹巳漓把备
(您将使
)内。无论如何,您都在设置宽度,只需将每个div的左侧设置为适当的偏移量,并分别指定
和
CSS规则。
淑灯
然后,您需要从CSS的第8行中删除“ 8”,并将此代码插入底部。
程琶
将其添加到您的CSS,它应该在所有浏览器中都可以使用。
筷啸够对铅
琳娘
用纯CSS完成。.但是没有iE7及以下支持:( 这是一个同时包含两种方法(jQuery *和CSS)的解决方案,jQuery当然会为其他浏览器做同样的事情,但是这种解决方案意味着大多数用户将获得仅具有IE7及以下功能的纯CSS解决方案。 jQuery的“增强” 如果要在所有浏览器中使用jQuery解决方案,则不需要
或
显示属性,并且需要从float属性中删除
hack-浮点数还需要跨浏览器包含,这样您就可以在
div中添加
-如果您需要在IE6中使用
,就将它留在原处; CSS:
HTML:
jQuery:(在条件注释中,因此只有IE7及以下版本可以看到它)
新增:JSfiddle 注意:小提琴没有添加jQuery,因为我不知道如何在小提琴中添加条件注释) 抱歉,您不能选择纯JavaScript的解决方案,但我无法这样做-但我确定那是否是您希望有人可以将纯JS添加到我的答案中!
坝镰补翔奋
属性来确保内容位于顶部 HTML
CSS
2)将onmouseover / onclick事件附加到人造列和普通列
如果您需要有关javascript的更多详细信息,请问一下,不过我对jQuery等效项一无所知。 是的,我意识到这有点棘手,但是它可以完成工作而不必计算高度或其他任何东西。希望这可以帮助!
勺的驴吓识
这假定该图像与css文件位于同一文件夹中(不建议这样做,最好使用images / fake-columns.gif,以便从该图像文件夹中引用该图像)。 Repeat-y将向下重复微小的图像,覆盖内容div覆盖的整个高度。左上角可确保图像从左上角开始平铺,这通常是您想要做的!内容前的磅符号似乎与我上面的示例CSS消失了。