V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
rebeccaMyKid
V2EX  ›  问与答

如果只是声明了字体族, font-family:Sans-serif,那会用这个族里的哪一款字体?

  •  
  •   rebeccaMyKid · 2016-05-14 10:50:20 +08:00 · 3918 次点击
    这是一个创建于 3151 天前的主题,其中的信息可能已经有所发展或是发生改变。

    另外一个问题,我想如果没有 font-family 的声明,或者说所有要求的字体我都没有,那么就应该按浏览器的内置设置来渲染字体了,就是所谓的 user-agent-stylesheet ,那这个顺序又是怎样的? 贴一张 Chrome 的字体设置图: http://i.imgur.com/ukbVYk4.png

    5 条回复    2016-05-16 11:11:46 +08:00
    caoyue
        1
    caoyue  
       2016-05-14 12:32:27 +08:00   ❤️ 1
    写了 font-family:Sans-serif 应该就是去找设置的 Sans-serif 字体了
    如果设置的 Sans-serif 字体没有中文,那一般会去找系统默认的 fallback
    但是 Chrome 可能会根据网页的 lang 属性来自己选择最后使用的字体
    但是这个设置项没有出现在 Settings 中,只能安装扩展来查看或者修改

    在开发者工具中选择 Styles Computed ,可以很方便的看到实际渲染使用的 Rendered Fonts
    自己修改下样式做下测试也很简单
    TimePPT
        2
    TimePPT  
       2016-05-14 14:11:22 +08:00 via iPhone
    记得看过相关资料,一般来说 HTML 行间样式>样式表样式>浏览器用户自定义样式>浏览器默认样式>系统默认样式,字体样式也是按照这个顺序依此判断,如果当前层级指定字体没有,就像下一层级回退。另外,同一个样式表里字体样式会从左向右申请,所以一般西文字体最好写在中文字体前面,否则会一律按中文字体显示中西文。

    以上不确定记得对不对,自己可以查下。
    Khlieb
        3
    Khlieb  
       2016-05-15 08:40:45 +08:00 via Android
    Chrome 的 Advanced Font Settings 扩展可以设置浏览器用户自定义样式
    rebeccaMyKid
        4
    rebeccaMyKid  
    OP
       2016-05-15 21:49:23 +08:00
    @caoyue 谢谢。我还有一个问题就是,是不是中文字体里面只会有中文,英文字体里只有英文?那比如说我查了一下谷歌的 font-family 是这样写的: font-family: arial,sans-serif; 那么,“这个页面的中文”是在哪个字体里找的? arial 字体里面包括中文吗?如果 arial 里面没有中文,那是不是就在在 sans-serif 里面找中文字体?还有我想知道方正雅黑这些中文字体大都是属于哪一族的?
    caoyue
        5
    caoyue  
       2016-05-16 11:11:46 +08:00
    @rebeccaMyKid
    对于字体我了解不多,你可以找找相关的文章看看,知乎上也有不少好答案=-=

    1. 一般来说是英文字体只有英文,中文字体包含英文。但是还是看具体字体。

    2. 对 Chrome 而言,你贴的图中的四个字体的设置,默认对应的是网页 lang=en 的情况
    实际上, Chrome 隐含了单独对不同语言的这四个字体的设置,需要安装扩展来查看和修改(点那个高级字体设置就是

    比如 在 lang=zh 的时候, Chrome 会根据这个隐藏的设置来寻找对应的 sans-serif 字体
    这个时候可能 sans-serif 就对应的是微软雅黑

    如果你安装了扩展,把 lang=zh 的设置下的 sans-serif 仍然修改为 Arial ,这个时候由于没有指定中文字体,浏览器寻找系统的默认 fallback ,比如在 Windows 上 Arial 中文部分可能就会 fallback 到 中易宋体

    3. sans-serif 和 serif 应该是属于西文字体的分类方法,所以雅黑之类的中文字体一般不会应用这种分法,中文一般是按黑体,宋体等等这样分
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2569 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 23ms · UTC 06:00 · PVG 14:00 · LAX 22:00 · JFK 01:00
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.