Javascript Safari显示的字体与其他浏览器不同-为特定浏览器设置特定字体系列-如何更改Safari的字体平滑

Javascript Safari显示的字体与其他浏览器不同-为特定浏览器设置特定字体系列-如何更改Safari的字体平滑,javascript,jquery,html,css,Javascript,Jquery,Html,Css,Avenir Next字体在Safari上的显示/呈现方式与在Google Chrome和Firefox上的不同。有没有办法解决这个问题,或者在Safari上为我的网页使用单独的字体?我该怎么办 我更喜欢纯html/css的解决方案(也许浏览器有@media?)。如果不可能,我可以使用javascript或jQuery 编辑:已解决,问题是Safari字体平滑。请参见下面我自己的答案您说JS是一种可能性,即使它不是您的首选 大约100年前,我编写了一个名为BAPS(浏览器和插件嗅探器)的库,它可

Avenir Next字体在Safari上的显示/呈现方式与在Google Chrome和Firefox上的不同。有没有办法解决这个问题,或者在Safari上为我的网页使用单独的字体?我该怎么办

我更喜欢纯html/css的解决方案(也许浏览器有@media?)。如果不可能,我可以使用javascript或jQuery


编辑:已解决,问题是Safari字体平滑。请参见下面我自己的答案

您说JS是一种可能性,即使它不是您的首选

大约100年前,我编写了一个名为BAPS(浏览器和插件嗅探器)的库,它可以检测大量内容并添加body类

您不需要对它做任何操作—只需包含脚本,如果您检查DOM,就会得到一堆主体类


Safari有自己独立的字体平滑功能(即,自动调整字体以呈现美观和正确的效果),与其他浏览器(如Chrome或Firefox)不同。 在出现差异的情况下,比如我遇到的差异,我们可以使用

-webkit-font-smoothing 
在我的例子中,Safari上的字体平滑自动设置为抗锯齿,而标准(Chrome和Firefox上使用的字体平滑)是亚像素抗锯齿

简单地加上:

-webkit-font-smoothing: subpixel-antialiased !important;
现在,字体显示与Chrome和其他浏览器相同


有关Safari字体平滑的详细信息:

出现快速搜索:不要这样做!请选择另一种看起来不错的字体。@ryachza我在搜索“特定浏览器的特定字体系列”时没有指定Safari,也不是一般性的,这一定是我没有看到另一种字体的原因。事实上,我搜索的是“Safari only css hack”,因为当我读到“how do X in only browser Y”时,我就是这样解释的。你应该听@lansen的,除非你有很好的理由不去听!这是一个字体问题:Avenir Next在每个浏览器(chrome+safari)上的呈现方式都不同,而不考虑规格(即字体重量设置)。我会做一些关于原因的研究。谢谢你的回答,不过幸运的是,这不是必要的,因为我找到了根本问题并解决了它。但如果有什么东西需要你的图书馆,我会用它。PS不知道Javascript已经有100多年的历史了;)别担心。是的,其API的早期草稿大约是在1500年编写的。