jquery - 调整声明它们的所有字体大小?

时间:2010-12-09 19:10:27

标签: jquery css fonts font-size

我检测用户是否安装了Calibri:

$(document).ready(function() {
    var cWidth = $('.calibri').width();
    var aWidth = $('.arial').width();
    if (cWidth == aWidth){ 
        //No Calibri installed
    }      
});

如何找到定义字体大小的类,然后将它们减少20%?

2 个答案:

答案 0 :(得分:1)

你应该使用CSS:

body {font-size:80%}

试图在客户端上精确控制字体是一个愚蠢的游戏;你将花费大量时间尝试最终失败。如果存在一些邪恶的黑客强制你的确切字体,它会有什么真正的价值?网页是文件,而不是电影海报。将您的字体设置为通用族,然后继续。

body {font-family:sans-serif}

答案 1 :(得分:0)

假设您的javascript链接正在发挥作用,完成它是设置我相信的尺寸(如果我理解正确),这是应该工作的:

$(document).ready(function() {
    var cWidth = $('.calibri').width();
    var aWidth = $('.arial').width();
    if (cWidth == aWidth){ 
        $('div, span, input, p, h1, h2 ...etc ').each(function(i) { /* This is suspect, it needs to 
                                  select all tags*/
            if($(this).css('font-size').length) {
                var currentSize = parseInt($(this).css('font-size'));
                var newSize = currentSize * .8;
                $(this).css('font-size', newSize + " <unit> ");
            }
        });
    }      
});

这是值得怀疑的,但可能会让你更接近你想要的东西。

编辑,主要的大脑屁,你必须在获得元素后检查font-size。这仍然可能不完美(无法测试),但想法是你需要检查$(this).css('font-size')

的回报

希望这会有所帮助。我想的越多,这是一个非常糟糕的事情。