字体是“文字的不同体式”或者“字的形体结构”。对于英文而言,每种字体都是由一组具有独特样式的字母、数字和符号组成的。
文本就是一组字或字符,比如章标题、段落正文等等,跟使用什么字体无关。
字体属性
网页中的字体有三个来源:
- 用户机器中安装的字体;
- 保存在第三方网站上的字体;
- 保存在你的Web服务器上的字体。
font-family
font-family用于设定元素中的文本使用什么字体,它是可以继承的属性,因此它的值会遗传给所有后代元素。一般来说,应该给整个页面设定一种主字体,然后只对那些需要使用不同字体的元素再应用font-family。要为整个页面指定字体,可以设定<body>元素的font-family属性。
1 | body { font-family: verdana, sans-serif; } |
用户机器上的字体是随操作系统一起安装的,可以由本地应用共享。每种操作系统自带的字体不多,而且用户随时会安装或删除字体,因此我们永远也不敢保证一定能使用某种字体来显示网页。为此,在指定文本的字体时,需要多列出几种后背字体,以防第一种字体无效。这个字体的列表也叫字体栈。
font-size
font-size属性是可继承的- 设定字体大小时可以使用:
- 绝对单位:
px - 相对单位:百分比、
em、rem - 关键字:
x-small、medium、x-large等
- 绝对单位:
- 如果你给某个元素设定了相对字体大小,则该元素的字体大小要相对于最近的“被设定过字体大小”的祖先元素来确定。
rem单位比较特殊,它只是相对于<html>根元素
font-style
font-style设定字体是斜体还是正体,它的值有:italic(斜体)、oblique(正体)和normal
font-weight
font-weight设定字体粗细,它的值可以是:100、200…900,或者lighter、normal、bold或bolder
font-variant
font-variant的值只能是:small-caps和normal。small-caps会让小写英文字母变为小型大写字母
font
font是字体的简写属性- 使用
font时必须声明font-size和font-family的值 - 使用
font时必须按照如下顺序:font-weight、font-style、font-variant不分先后- 然后是
font-size - 最后是
font-family
- 实际上,在设定
font-size属性的同时,可以顺便设定line-height的值,如12px/1.5
文本属性
text-indent
text-indent属性设定行内盒子相对于包含元素的起点。默认情况下,这个起点就是包含元素的左上角text-indent的值可正、可负text-indent属性是可以被继承的,它继承的是经过计算之后的绝对值
letter-spacing
letter-spacing属性用于调整字符间距,为负值时缩小间距。无论设定字体大小时使用的是什么单位,设定字符间距一定要用相对单位,以便字符间距跟随字体大小同比例变化
word-spacing
word-spacing属性用于调整单词间距
text-decoration
text-decoration属性的值:underline、overline、line-through、blink、none
text-align
text-align属性的值:left、right、center、justifycenter值也可以用来在较大的元素中居中较小的固定宽度的元素或图片
line-height
line-height属性用于指定文本的行高- 如果
line-height的值是不包含单位的数值,那么行高就是数值 * 字体大小
text-transform
text-transform属性的值:none、uppercase、lowercase、capitalize
vertical-align
vertical-align属性的值:sub、super、top、middle、bottom或任意长度值
word-break
word-break属性的值:normal、break-all、keep-all、break-word
text-overflow
text-overflow属性的值:clip、ellipsis、<string>text-overflow属性只对那些在块级元素溢出的内容有效
1 | /* Overflow behavior at line end |
white-space
white-space属性的值:normal、nowrap、pre、pre-wrap、pre-linewhite-space属性只对那些在块级元素溢出的内容有效

text-shadow
text-shadow: <offset-x> <offset-y> <blue-radius> <color>:<offset-x>(必选):阴影水平偏移量<offset-y>(必选)):阴影垂直偏移量<blue-radius>(可选):该值越大,阴影面积越大,阴影就越大越淡。不能为负值。默认为0,此时阴影边缘锐利<color>(可选):颜色。默认颜色由浏览器决定
- 如果想设置多个阴影,则不同阴影规则之间需要使用逗号分隔
文字版式
具体的文字版式设计可以看《CSS权威指南》的4.4节