javascript font-resizer在IE8或IE7中不起作用

时间:2013-04-12 15:54:53

标签: javascript jquery css internet-explorer-8 internet-explorer-7

我正在尝试创建一个站点范围的字体大小调整器,但是大多数实现似乎都希望我按ID或类来定位元素,而不是在站点范围内。

我正在尝试通过从这个CSS开始设置我的页面来完成我的任务:

  • html = 83%
  • body,div,dl,dt,dd,ul,ol,li,h1,h2,h3,h4,h5,h6,pre,form,p,blockquote,th,td等... = 1em < / LI>

然后,我有一些jquery抓取当前应用的font-size,增加它并重新应用它。

但它不适用于IE8或IE7。 (令人震惊)

var currentFontSize = $('html').css('font-size');
var currentFontSizeNum = parseFloat(currentFontSize, 10);
var newFontSize = currentFontSizeNum*1.05;
$("html").css('cssText', 'font-size: ' + newFontSize + 'px !important');

如果我在console.log中输出值,那么在这些浏览器中计算正常,但在这些浏览器中似乎存在相对字体大小的问题。我也尝试将所有内容重置为100%,而不是1em,但这也不起作用。

示例jsfiddle(但此网站在ie8或以下不起作用.....)

2 个答案:

答案 0 :(得分:1)

您正在应用没有任何单位的尺寸。将px添加到大小:

$('html').css('font-size', newFontSize + 'px');

旁注:parseFloat函数不带任何基数参数:

var currentFontSizeNum = parseFloat(currentFontSize);

答案 1 :(得分:0)

我无法让它在IE8&amp; IE7,所以我改变了我的代码,将一个类应用于html对象(正文也可以工作)。然后,在IE8&amp; IE7 css文件,我有样式,正在监听这些类并相应地调整它们的大小。