我正在寻找一种安全的方法来获取目前不“活跃”的CSS属性的计算值,例如min-width
,min-height
,max-width
,{{ 1}}等等。
我的CSS代码应该是这样的:
max-height
如果我使用它,jQuery将返回原始值:
.element {
width: 30%;
max-width: 60%;
}
有趣的是,我得到了与其他单位正确的px结果:
$('.element').css('max-width'); // returns "60%"
一个简单的解决方案就是自己计算:
max-width: 60em; // returns "960px"
max-width: 60rem; // returns "960px"
max-width: 60vh; // returns "396px"
max-width: 60vmax; // returns "1132px"
max-width: 60pt; // returns "80px"
问题是结果可能是错误的,具体取决于定位:绝对定位的元素应该包含填充,相对定位的元素应该排除填充。如果绝对定位的父亲不是相对的,则结果再次不同。所以我想知道是否有一个安全的解决方案可以关注这个CSS特性。
为什么jQuery的function calculatePixelFromPercentage(percentage, size) {
return parseFloat(size * (parseFloat(percentage) / 100));
}
calculatePixelFromPercentage($('.element').css('max-width'), $('.element').parent().innerWidth());
- 函数没有计算出来?规范(http://api.jquery.com/css/)告诉我应该计算它。
你知道任何解决方案吗?