CSS字体设置
CSS字体属性定义文本的字体系列,大小,加粗,风格(如斜体)和变形(如小型大写字母)。
css字体系列
- 在css中,有两种不同类型的字体系列名称
- 通用字体系列 - 拥有相似外观的字体系统组合(比如“Serif”或“Monospace”)
- 特定字体系列 - 具体的字体系列(比如“Times”或“Courier”)
- 除了各种特定的字体系列外,css定义了5种通用字体系列:
- Serif 字体
- Sans-serif 字体
- Monospace 字体
- Cursive 字体
- Fantasy 字体
指定字体系列
- 使用
font-family
属性定义文本的字体烯系列 - 使用通用字体系列👇
body {
font-family: sans-serif;
}
h1 {
font-family: Georgia;
}
- 以上规则同时会产生另外一个问题,如果用户没有安装Georgia字体,就只能使用默认字体来显示。
我们可以通过结合指定字体名和通用字体系列来解决这个问题👇
h1 {
font-family: Georgia, serif;
}
- 我们可以按照这种方式为给定元素指定一系列类似的字体。我们只需要吧这些字体按照优先顺序排列,然后用逗号进行连接:
p {
font-family: Times, TimesNR, 'New Century Schoolbook',Georgia, 'New York', serif;
}
- 当字体名中有一个或多个空格(比如New York),或字体名中包括#或$之类的符号才需要在
font-family
声明中加引号。 - 单引号或双引号都可以接受。但是,如果把一个
font-family
属性放在HTML的style
属性中,则需要使用该属性本身未使用的那种引号。
font-family
- 这个属性没有指示任何字体下载,完全取决于用户机器上该字体是否可用。所以,强烈建议使用一个通用字体系列名作为后路。
- JavaScript语法👇
object.style.fontFamily="arial,sans-serif"
值 | 描述 |
---|
family-name generic-family | 用于某个元素的字体族名称或由类族名称组成的优先表 默认值:取决于浏览器 |
inherit | 规定应该从父元素继承字体系列 |
字体风格
font-style
font-style
属性最常用于规定斜体文本。- JavaScript语法👇
object.style.fontStyle="italic"
值 | 描述 |
---|
normal | 默认值,浏览器显示一个标准的字体样式 |
italic | 浏览器会显示一个斜体的字体样式 |
oblique | 浏览器会显示一个倾斜的字体样式 |
inherit | 规定应该从父元素继承字体样式 |
italic和oblique的区别
italic
(斜体)是一种将带您的字体风格,对每个字母的结构有一些小改动,来反映变化的外观。oblique
(倾斜)则是正常竖直文本的一个倾斜版本。- 通常情况写两者在web浏览器中看上去完全一样。
字体变形
font-variant
font-variant
属性设置小型大写字母的字体,这意味着所有的小写字母均会被转换为大写,但是所有使用所有小型大写字体的字母与其余文本相比,其字体尺寸更小。- JavaScript语法👇
object.style.fontVariant="small-caps"
值 | 描述 |
---|
normal | 默认值。浏览器会显示一个标桩的字体 |
small-caps | 浏览器会显示小型大写字母的字体 |
inherit | 规定应该从父元素继承font-variant属性的值 |
字体加粗
font-weight
object.style.fontWeight="900"
值 | 描述 |
---|
normal | 默认值。定义标准的字符 |
bold | 定义粗体字符 |
bolder | 定义更粗的字符 |
lighter | 定义更细的字符 |
100
200
300
400
500
600
700
800
900 | 100-900为字体定义了9级加粗度。
100 对应最细的字体变形
900 对应最粗的字体变形
400 等价于normal
700 等价于bold |
inherit | 规定应该从父元素继承字体的粗细 |
字体大小
- 使用
font-size
属性设置文本的大小 - 不应该使用文本大小来设置段标题和段落
请使用正确的HTML标记,用<h1>
- <h6>
来标记段落,使用<p>
来标记段落。
font-size
值可以是绝对或相对值。
- 绝对值
- 将文本设置为指定的大小
- 不允许用户在所有浏览器中改变文本的大小(不利于可用性)
- 绝对大小在确定了输出的物理尺寸是很有用
- 相对大小
- 相对于周围的元素来设hi在大小
- 允许用户在浏览器中改变文本大小
- 如果没有规定字体大小,普通文本的默认大小是16像素(16px=1em)。
使用像素来设置字体大小
- 通过像素设置文本大小,可以对文本大小进行完全控制:
h1 {
font-size:60px;
}
h2 {
font-size:40px;
}
p {
font-size:14px;
}
使用em来设置字体大小
- 1em等于当前的字体尺寸。如果一个元素的
font-size
为20像素,那么对于该元素,1em就等于20像素。 - 浏览器中默认的文本大小是16像素,因此1em的默认尺寸是16像素。
h1 {
font-size:3.75em;
}
h2 {
font-size:2.5em;
}
p {
font-size:0.875em;
}
结合百分比和em设置字体大小
- 在所有浏览器中均有效的方案是
body
元素(父元素)以百分比设置默认的font-size
值:
body {
font-size:100%;
}
h1 {
font-size:3.75em;
}
h2 {
font-size:2.5em;
}
p {
font-size:0.875em;
}
font-size
- 该属性设置元素的字体大小。实际上它设置的是字体中字符框的高度
- JavaScript语法👇
object.style.fontSize="larger"
值 | 描述 |
---|
xx-small
x-small
small
medium
large
x-large
xx-large | 设置字体的不同尺寸 默认值:medium |
smaller | 把font-size 设置为比父元素更小的尺寸 |
larger | 把font-size 设置为比父元素更大的尺寸 |
length | 把font-size 设置为一个固定的值 |
% | 把font-size 设置为基于父元素的一个百分比值 |
inherit | 规定应该从父元素继承字体尺寸 |