CSS:动态最小高度取决于分辨率

时间:2012-05-21 12:44:05

标签: header footer css

是否可以计算css文件中两个div之间的差异?目标是将内容div的高度设置为固定页眉和页脚之间给定的最大高度。例如,我们有一个高度为25%的标题div和一个高度为15%的页脚都是固定的。内容之间的空间应始终完整填写。因此,由于差异将根据客户端显示器上设置的分辨率而变化,因此需要以下内容:

min-height = browserheight - (headerheight + footerheight)

这么久......

2 个答案:

答案 0 :(得分:0)

在纯CSS中是不可能的。但你可以试试LESS / SASS。它是类似CSS的语言,编译为纯css。

http://lesscss.org/

@containerWidth : 1000px;
@contentWidth   : 800px;

.side {
   width : @containerWidth-@contentWidth;
}

但是从价值观来看,你从浏览器中得到的东西就更难了。

例如浏览器宽度或浏览器高度。您可以通过执行一些javascript(在LESS中可能)在LESS中获得此值。 但是,只有当您将.less文件作为样式添加并在<script>标记中使用javascript编译器时,您的样式才会起作用,当加载页面时,使用较少样式的css样式。但它很慢。

使用LESS的更好方法是编辑.less文件中的代码,将其编译为.css并在网站上插入纯CSS样式。但是如果您在服务器端编译样式,则无法获得浏览器高度或宽度。

答案 1 :(得分:0)

CSS目前不支持计算值。

管道中有一些实验性的新CSS功能可以实现这一目标,目前正在逐步完成标准化过程,并开始出现在Chrome,Firefox等测试版中。您现在可以开始尝试使用它了。 ,但它需要很长时间才能拥有足够的真实浏览器支持,您可以将其用于真实网站。

同时,如果您想了解有关CSS Calc()功能的更多信息,请查看Mozilla Developer's site

旧版本的Internet Explorer有一个名为CSS Expressions的功能,在概念上也非常相似。但是,它从未标准化,不再受支持。

就像今天的情况一样,标准CSS不支持这种事情。

替代方案是使用CSS预处理器,例如LESSSASS。在没有纯CSS解决方案的情况下,这两个程序都尝试使用类似编程的功能扩展CSS语法。您使用SASS或LESS语法编写CSS,然后在将其上传到您的站点之前将其转换为标准CSS。

这些可能会为您提供所需的内容,但最终结果仍然是标准CSS,您仍然无法使用它们进行动态计算。

希望有所帮助。