使用javascript和jquery加载外部字体

时间:2011-09-02 10:26:05

标签: javascript jquery html fonts

我有一个< p>使用jquery动态创建的元素,我想用我硬盘上的自定义字体来设置它。

你能不能给我一个加载该字体并将其应用于这个元素的方法。

现在,该对象看起来像:

$("<p>").css({ fontFamily : "Arial",
               fontSize: "13px",
               color: "#000"});

我想用自定义字体替换fontFamily:“Arial”。

谢谢, 加布里埃尔

4 个答案:

答案 0 :(得分:22)

这段代码可以完成所有工作:

$("head").prepend("<style type=\"text/css\">" + 
                                "@font-face {\n" +
                                    "\tfont-family: \"myFont\";\n" + 
                                    "\tsrc: local('☺'), url('myFont.otf') format('opentype');\n" + 
                                "}\n" + 
                                    "\tp.myClass {\n" + 
                                    "\tfont-family: myFont !important;\n" + 
                                "}\n" + 
                            "</style>");

答案 1 :(得分:4)

我找到了一个很好的解决方案,使用jface的fontface插件。 http://www.sitepoint.com/the-fontface-jquery-plugin/

答案 2 :(得分:2)

您需要在样式表中添加一些CSS - 您可以在此处找到要添加的正确CSSS:How do I load external fonts into an HTML document?

然后,您可以使用其名称来更改字体名称,例如:

$("<p>").css({ fontFamily : "Kimberley",
               fontSize: "13px",
               color: "#000"});

编辑:最好在样式表中为

标记添加一个类,然后使用jquery将该类添加到p中

p.example{ font-family:Arial, Helvetica, sans-serif; }

$("<p>").addClass("example");

答案 3 :(得分:1)

我个人使用cufon。

适用于99%的浏览器!

http://cufon.shoqolate.com/generate/

享受!