我正在尝试创建一个站点范围的字体调整器,但大多数实现似乎都希望我按 id 或类而不是站点范围来定位元素。
我试图通过设置我的页面来完成我的任务,以此 CSS 开头:
- html = 83%
- body,div,dl,dt,dd,ul,ol,li,h1,h2,h3,h4,h5,h6,pre,form,p,blockquote,th,td,etc... = 1em
然后,我有一些 jquery 可以获取当前应用的字体大小,增加它并重新应用它。
但它在 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及以下版本不可用.....)
最佳答案
您正在应用没有任何单位的尺寸。将 px
添加到大小:
$('html').css('font-size', newFontSize + 'px');
旁注:parseFloat
函数不接受任何基数参数:
var currentFontSizeNum = parseFloat(currentFontSize);
关于javascript font-resizer 在 IE8 或 IE7 中不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15975809/