div扩展到窗口高度,边距底部固定



我一直在尝试做一些非常简单的事情,但我不能使它工作!

这是我正在尝试的:

——margin: 15px

——可变高度DIV(想象一个盒状元素)

——margin: 15px

我想让这个框根据浏览器窗口的高度来调整大小。

这是我一直在尝试的:

CSS

 body {background - color: # D0CDC5;高度:100%}# info_box {background - color: rgba(40、40、40岁,0.5);边框:rgba(34,34,34,0.9) 1px实心;宽度:350 px;高度:100%;边框:15px 0px 15px 20px;}#info_box p {颜色:红色;} 之前

<body>
<div id="info_box">
<p>Sample Content</p>
</div>
</body>
顺便说一下,为什么文本出现在div顶部15px处?为什么不冲水?

谢谢大家,

* *编辑

看看这个链接,除了IE6和ie7,它对所有浏览器都很适用。另一个HTML/CSS布局挑战感谢@Hristo!

UPDATE

检查小提琴…

全屏编辑


看看小提琴…http://jsfiddle.net/UnsungHero97/uUEwg/1/

我希望这对你有帮助。斯托伊

如果你不需要支持IE6,这不是一个更大的布局的一部分,有一个简单的方法:

#info_box {
position: fixed;
left: 0px;
top: 15px;
right: 0px;
bottom: 15px;
}

或者,您可以使#info_box拉伸整个高度,并将position: absolutediv放入其中,并使用与上述相同的数据。

我不完全确定是否有一种方法可以在没有绝对或固定定位的情况下做到这一点,因为无论你使用填充还是边距,你最终都会在已经100%的高度上添加30像素。我很高兴被证明是错的。

元素的高度取决于元素内部的内容。所以你已经有了一个居中的元素,它的顶部和底部距你的网站主体的顶部和底部分别为15px。

但是如果你想要一个元素总是在屏幕中间居中,填充除了顶部15px和底部15px之外的所有内容,那么使用"传统"方法是无法实现的。它要么必须是一个图像,要么是一个可调整大小的框,如果内容大于屏幕大小,将有一个滚动条。

无论如何,如果这是你想要的,给它一个固定的大小和高度,并使用position:fixed。

如果您始终使用一致的浏览器分辨率,那么它是可行的。但是,如果你的屏幕大小根据你使用的设备(平板电脑,手机等)而变化,那么仅通过CSS是无法完成的。

最新更新