导读
本文所要讲解的是文章题目“删去"Times New Roman"等字体族之后,所有效果都没有了”的原因
(建议新手观看)
精华
font 简写属性要求至少设置字体大小和字体族(或者是一个至少包括关键字的字体族值)
以下是一段示例代码
<style>
p.all{
font:italic bold 30px "Times New Roman";
}
</style>
<p class="all">斜体的 粗体的 大小是30px的 "Times New Roman" </p>
代码解读
当你为HTML元素指定字体样式时,CSS 的 font 属性是一个简写属性,用于同时设置多个字体相关的属性。这个简写属性允许你同时设置以下值(按顺序):
字体样式(如 italic 或 normal)
字体粗细(如 bold、bolder、lighter、100 到 900 或 normal)
字体大小(如 30px)
字体族(通常是字体名称或一组备选字体,以逗号分隔)
在示例提供的样式中:
CSS
p.all {
font: italic bold 30px "Times New Roman";
}
示例设置了四个值:字体样式为斜体(italic),字体粗细为粗体(bold),字体大小为 30px,字体族为 "Times New Roman"。
当你去掉 "Times New Roman" 时,CSS 解析器会尝试解析剩下的值,但由于 font 简写属性要求至少设置字体大小和字体族(或者是一个至少包括关键字的字体族值),没有提供足够的值,因此整个 font 属性的设置将不会被应用。
换句话说,当你只保留 italic bold 30px 而没有字体族时,CSS 解析器不知道如何处理这个不完整的 font 属性值,因此它会回退到元素的默认字体样式。
为了保持其他样式设置(斜体和粗体),同时允许浏览器选择一个默认的字体族,你可以这样做:
CSS
p.all {
font-style: italic;
font-weight: bold;
font-size: 30px;
/* 没有指定具体的字体族,浏览器会使用默认的字体族 */
}
或者,如果你仍然想使用 font 简写属性,但不想指定具体的字体族,你可以使用一个通用字体族(如 serif、sans-serif、monospace 等):
CSS
p.all {
font: italic bold 30px serif; /* 或者 sans-serif, monospace 等 */
}
这样,即使你没有指定具体的字体名称,浏览器也会使用一种合适的默认字体族来显示文本
(若有说的不对的地方,欢迎指正)