3

我注意到,由于字体渲染的变化,使用硬件加速的浏览器的字体大小并不相同 - 使字符看起来更小。在具有水平导航的网站上,这实际上已成为一个问题。

是否可以使用 JavaScript 或 JS 库来检测浏览器中启用(或禁用)的硬件加速?

Modernizr 似乎没有提供这种选择。

4

4 回答 4

7

字体渲染因浏览器、操作系统和用户设置而异。所以你的网站应该优雅地处理这些差异,而不是依赖像素精确的字体渲染。硬件加速只是这种差异的另一个来源。

由于您实际上对确定它是否是硬件加速并不感兴趣,但是在字体渲染的差异方面,如何测量一些渲染文本的大小,并基于此调整您的页面?

于 2011-03-23T11:19:08.550 回答
2

由于您只对跨浏览器和平台的字体大小差异感兴趣,因此可能值得研究字体大小规范化技术。

我个人唯一熟悉的是YUI Fonts CSS。我在我所有的项目中都使用它,它使用了HTML5Boilerplate项目。

还有一些 CSS 排版框架,例如BaselineTypogridphyBlueprint(如果你走这条路,我已经研究过这个,推荐它),最后是 atatonic

于 2011-03-23T11:37:44.807 回答
0

为什么不使用下划线的油门或去抖动来减少刷新,而不是为慢速渲染提供解决方法呢?

于 2014-01-21T05:46:07.157 回答
-5
<script type="text/javascript">
<!--
window.onload=function(){
        if(window.screen.availHeight>700 && window.screen.availWidth>1000)
        {
        document.body.style.fontSize="15px";
        }
.................
//another conditions
}
//-->
</script>

您无法获得处理器速度或内存大小,但您可以通过函数了解硬件强度

<script type="text/javascript">  

 var number=10;  
 var i;  
 var start = (new Date).getTime();  
 //code here  
     for(i=0;i<10000;i++)  
     {  
      number=number*10;  
     }  
 var diff = (new Date).getTime() - start;  
 alert(diff);  

 start = (new Date).getTime();  
 //code here  
     while(i<10000)  
     {  
      number=number*10;  
      i++;  
     }  

diff = (new Date).getTime() - start;  
alert(diff);  

 </script> 
于 2011-03-23T10:59:18.130 回答