CSS字体

字体系列

CSS定义了5中通用字体系列

  1. Serif

  2. Sans-serif

  3. Monospace,等宽字体

  4. Cursive,手写体

  5. Fantasy

    理论上,用户安装的任何字体系列都会落入到上述通用系列之中。

    <p style="font-family: serif;">我是serif字体</p>
    <p style="font-family: sans-serif;">我是sans-serif字体</p>
    <p style="font-family: monospace;">我是monospace字体</p>
    <p style="font-family: cursive;">我是cursive字体</p>
    <p style="font-family: Fantasy;">我是Fantasy字体</p>
    
五种通用字体在MacChrome中的显示

使用font-family来指定字体。

例如: h1 {font-famliy: Georgia, serif;} 如果Georgia字体不可用,则会使用另外一种serif字体。

建议在所有的font-famliy中都提供一个通用的字体系列

字体加粗

font-weight: normal(初始值) | bold | bolder | lighter | 100 | 200 | 300 | 400 | 500 | 600 | 700 | 800 | 900 | inherit(可以继承)

  1. font-weight 取值为数字

对于同一个字体会有很多不同的变形,这些变形使用相同的基本字体,但是每个变形都有不同的加粗。例如:对于字体Zurich而言, Zurich Bold, Zurich Black, Zurich UltraBlack, Zurich Light和Zurich Regular都是其不同的粗细的变形。

字体定义了9级加粗度,分别为100~900,100最细,900最粗。

这些数字都有某个常用的变形名等价,400定义为normal,700对于于bold。

可能有多个数字,对应了同一个变形。

下表中展示了Zurich的不同变形对应的数字

字体 指定的关键字 指定的数字
Zurich Light 100,200,300
Zurich Regular normal 400
Zurich Medium 500
Zurich Bold bold 600,700
Zurich Black 800
Zurich UltraBlack 900

font-family: 'Zurich Light'

font-famly: 'Zurich'; font-weight: 100

font-famly: 'Zurich'; font-weight: 200

font-famly: 'Zurich'; font-weight: 300

以上四条规则使用的字体相同。

  1. font-weight 取值为border或者lighter

    如果将一个元素的加粗设置为border,浏览器会首先确定其父元素的font-weight的值,然后选择下一个加粗级别中最小的加粗值,若不存在该字体,则设置为下一个更大的数字,直到该数字为900。

    以上面Zurich字体为例:

    p { font-weight: normal; } //400
    p em { font-weight: border; } // 500
    
    p { font-weight: light; } //100
    p em { font-weight: border; } // 400,如果该字体Lighter后面的字体都不存在,则改值为 200
    

    lighter的做法一致,只不过会导致加粗度下移而不是上移。

字体大小

font-size: xx-small | x-small | small | medium(初始值) | large | x-large | xx-large | smaller | lager | <length> | <percentage> (根据父元素的大小来计算)| inherit(可继承)

font-size的作用是为给定字体的em框提供一个大小,而不能保证实际字符就是这种大小。实际字体大小之间的具体关系是由字体的设计者来确定的。

  1. 绝对大小

    font-size有7个绝对大小的关键字 xx-small | x-small | small | medium(初始值) | large | x-large | xx-large ,但是这些关键字并没有明确的定义,而是相对定义的。根据css1规范,一个绝对大小与下一个绝对大小之间的差别(缩放因子)应当是向上1.5,向下0.66。但是不同的浏览器使用的缩放因子可能不同。

    假设medium等于16px,对于不同的缩放因子,得到下表中不同的绝对大小。

    关键字 缩放:1.5 缩放:1.2
    xx-small 5px 9px
    x-small 7px 11px
    small 11px 13px
    medium 16px 16px
    large 24px 19px
    x-large 36px 23px
    xx-large 54px 28px
  2. 相对大小

    larger和smaller很简单:使元素的大小相对于其父元素的大小在绝对大小梯度上上移或下移,使用计算绝对大小的缩放因子。

    p { font-size: medium} // 16px

    p em { font-size: larger} // 16*1.2

  3. 百分数

    百分数总是根据从父元素继承的大小来计算。

  4. 继承

    font-size 是可以继承的,但是继承的是计算值而不是百分数。

    例如:

    p { font-size: 12px; }
    p em { font-size: 120%; } // 12*1.2 ≈ 14px(浏览器会对像素大小进行取整)
    p em strong { font-size: 135%; } // 14 * 1.35 ≈ 19px (而非 12*1.2*1.35)
    

字体风格

font-style: italic(斜体) | oblique(倾斜) | normal(正常,初始值) | inherit(可继承)

字体变形

font-variant: small-caps(小型大写字母文本) | normal(初始值) | inherit(可继承)

拉伸和调整字体

font-stretch: 让一种字体的字符更胖或者更瘦

font-size-ajust: 当所用字体非创作人员首选时,仍然保证可以辨识

font-face

使用font-face可以在文档中下载一个远程字体来使用。

@font-face {
  font-family: 'MyFont';
  src: url(http://www.myfont.com/myfont.ps)
}
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 203,362评论 5 477
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,330评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 150,247评论 0 337
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,560评论 1 273
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,580评论 5 365
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,569评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,929评论 3 395
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,587评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,840评论 1 297
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,596评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,678评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,366评论 4 318
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,945评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,929评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,165评论 1 259
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 43,271评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,403评论 2 342

推荐阅读更多精彩内容