zoukankan      html  css  js  c++  java
  • 谈谈网页的字体的设置

    设置全站的字体一直是一个简单而又不简单的事,因为深入下去,这里面牵扯到太多的东西。

    本文主要是想说说对于一个普通的网站,如何根据自己的需求选择字体。
     
     
     1、必备知识
    首先,我们应该明确,并不是你设置了这种字体,用户电脑便会以这种字体显示。
    如果用户电脑没有安装这种字体,那么它便会以你设置的第二种字体来渲染。看一个常见设置
    font-family:tahoma,arial,'Hiragino Sans GB',5b8b4f53,sans-serif; /* 其中5b8b4f53是宋体的意思,用这种Unicode编码可以兼容全部浏览器 */
    上述的代码,如果在没有tahoma字体的机器上设置,那么该机器会以arial字体渲染。如果也没有,那么便用后一种。直到你指定的字体都没有,那么便会使用sans-serif字体族中的一款字体。
     
    然后,我们应该讲讲sans-serif是什么。
    sans-serif是无衬线字体的意思,并不是一种字体,而是一类字体的统称。
    相应的,serif就是用衬线字体的意思。
    (解释下:衬线就是字体上的很小的修饰,具体可以百度,跟本文关系并不大,就不展开讲了。)
     
    关于常见字体族,这里整理下:
    • serif:带衬线字体。Times New Roman 是默认的 serif 字体,中文字体的话,是宋体、仿宋之类的字体。
    • sans serif:无衬线字体。Arial 是默认的 sans-serif 字体,中文字体中,微软雅黑、黑体等都是这类字体,英文字体包括Helvetica、Geneva或Verdana等。
    • monospace:等宽字体。这个字体里面的每个字母都有相同的宽度。通常用于显示程序代码等,Courier 是默认的 monospace 字体。而对于中文,每个汉字都是等宽的。
     
     
    2、该怎么设置字体
    看过了上面的必备知识,想必对字体有了稍微系统点的认识了。
    那么如何设置网站字体呢?
    有人习惯用宋体、arail或者tahoma作为第一字体。但是,这里面有个很大的问题,对于字号大一点的字体(16px以上的),渲染出来是 相当的难看。不过我电脑上使用了windows下优化字体的东西,就无法给大家展示了。总之,对于大号字体,用这种的设置挺难看的。
     
    那么有人说微软雅黑在字体大的时候挺好看的。全部设置微软雅黑怎么样?
    这里有个很大的问题,雅黑是windows vista才有的,对于占有率为65%+的xp用户来说,你设置了雅黑等于没写。他们还是用宋体啊什么的渲染的。除了你自我安慰或者应付 BOSS(BOSS一般都会赶潮流用windows 7以上)。对大部分用户来说真的没用。而且微软雅黑在渲染12px字体时并没有宋体它们来得好。
     
    所以,关于如何设置字体,我觉得应该根据实际业务和情况来具体设置。
     
     
    3、结论
    经过上述的分析,我总结了一个我觉得挺好的设置方法
     
    1: 综合最优
    全站字体设置如下
    font-family:Helvetica,arial,'Hiragino Sans GB',5b8b4f53,sans-serif;
    然后对于大的重要的字体(例如导航)使用图片来处理。因为用图片后,你就不用纠结用户是否装了这个字体的问题了,而且可以做的更漂亮,更多的扩展性与可能性。
     
    2: 性能最好
    全站字体还是
    font-family:Helvetica,arial,'Hiragino Sans GB',5b8b4f53,sans-serif;
    然后对于大的字体(这里就不管重不重要了)。单独来设置
    font-family:Microsoft YaHei;
    这种设置可以让前端省挺多事,不过会有很多xp的用户会被大号字体给丑到。
     
    3: 最省事方案

    直接

    font-family:Helvetica,arial,'Hiragino Sans GB',5b8b4f53,sans-serif;
    或者
    font-family:Microsoft YaHei,Helvetica,arial,'Hiragino Sans GB',5b8b4f53,sans-serif;
    虽然有可能渲染大字体不漂亮,虽然雅黑渲染小字体不清晰。but,有什么关系呢。
     
  • 相关阅读:
    Codeforces Round #604 (Div. 2) E. Beautiful Mirrors 题解 组合数学
    洛谷P1002 过河卒 题解 动态规划
    python 查看数据类型
    python 输出小技巧
    python 基础定义变量
    python 关键字
    flask restful 反查询
    Please edit configuration/connection/logging settings in '/home/mac126/Desktop/13/test3-1/migrations/alembic.ini' before proceeding.
    KeyError: 'migrate'错误解决办法
    flask 的简单拆分升级版2
  • 原文地址:https://www.cnblogs.com/qqziyuan8/p/5726310.html
Copyright © 2011-2022 走看看