Firefox返回像素值,Chrome返回百分比值(CSS最大高度)

6

我正在尝试(通过jQuery)获取通过CSS设置为百分比值(45%)的div的最大高度。

在Firefox中 - 它返回像素值,但是在Chrome / Safari中,该值以百分比(45%)返回。 我使用的用于获取这些值的jQuery代码是:

parseInt($('.content-section').css('max-height'))

我这样做有问题吗?如何在Chrome/Safari中获取像素高度?或者,在Firefox中获取百分比高度?
编辑:
原始CSS:.content-section {width: 880px; margin: 0 auto; max-height: 45%}
在Chrome中计算出的CSS:Chrome Computed 在Firebug中计算出的CSS:Firebug Computed

请提供你所使用的CSS代码来设置这些值 - 我指的是进入到检查器(firebug和devtools)并为每个值给出“计算值”,以及原始CSS源。 - Deryck
你在CSS中设置了高度吗?如果没有,浏览器会自动为你设置一个高度。 - worldofjr
max-height 和百分比?你怎么能把这两个结合起来呢?max-height 不是应该限制变量大小的上限吗? - Sharky
@Sharky,你可以将max-height设置为像素或百分比值(以及其他值)。 - Deryck
@Sharky,这是一个很长的故事,但最终我想要的是最大高度与窗口高度成比例,以便处理其中的内容溢出并进行垂直居中... 我不知道这是否有意义,但无论如何,我需要在FF和Webkit中都有一个恒定的值,无论是像素还是百分比。 - PavKR
显示剩余3条评论
1个回答

0

嗯,这很奇怪。一个解决方法是使用百分比来计算实际的最大高度。例如:

var percentage = parseInt($('div.container').css('max-height')); //40?
var parentHeight = $('div.container').parent.height(); // i.e. 1000 (this is a px value)
var pixelHeight = parentHeight/percantage; // 400

不确定你的代码具体是什么样子,所以这当然可能不会完全按照所写的方式工作。此外,您需要仅针对出现问题的浏览器执行此操作!


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接