为什么calc用于font-size时不会重新评估?

时间:2015-05-27 09:06:11

标签: css css3 calc viewport-units

我尝试使用VW和计算一起进行计算但只计算一次:加载时间:

http://codepen.io/anon/pen/mJOGbr

html{
  font-size: calc( 16px + 2vw ); 
}

如何在调整浏览器窗口大小时强制评估该计算? 它被评估一次,但从未再次评估过。 如果没有计算,VM工作正常......

提前致谢!

1 个答案:

答案 0 :(得分:0)

请注意,如果您使用的是较旧的Webkit浏览器,则可能会出现无法调整大小的问题。 See this post。 (滚动到“Bugs!”)

  

支持在Chrome 20+ / Safari 6+中,但它在一个中失败   相当重要的方式。调整浏览器窗口大小时的字体   不会根据新的视口大小自行调整。规范   表示:

     

更改视口的高度或宽度时,会缩放它们   因此。我偷偷摸摸了。也许不是一场巨大的灾难,因为它很漂亮   很多只是我们设计调整浏览器窗口的书呆子,   但仍然。字体会在新页面加载时调整。

     

要修复此问题(允许调整大小而不刷新页面),您需要   导致元素“重画”。我使用jQuery而且只是摆弄   每个元素(在这种情况下不相关)z-index值,触发   重画。

causeRepaintsOn = $("h1, h2, h3, p");

$(window).resize(function() {   causeRepaintsOn.css("z-index", 1); });
     

更新:不要再担心这一点,绝对不要强迫   那些重绘。此调整大小问题已在Chrome 34+和Safari中修复   7+。在移动设备上更改视口大小并不常见,所以   我不确定这个错误是否会对它们产生影响。