0

0

css属性如何设置字体类型_通过字体族属性统一风格

P粉602998670

P粉602998670

发布时间:2026-01-31 08:02:04

|

886人浏览过

|

来源于php中文网

原创

font-family书写顺序决定fallback生效:优先级从左到右,首选字体置前、通用族置后;含空格或中文名须加引号;中英文混排需分层声明;@font-face失败仍占用字体名;继承机制要求深层节点显式重置。

css属性如何设置字体类型_通过字体族属性统一风格

font-family 值的书写顺序决定 fallback 是否生效

浏览器font-family 列表从左到右尝试加载字体,一旦某个字体可用就停止查找。所以必须把最想要的字体放最前,通用字体族(如 sans-serif)放在最后兜底。

常见错误是把系统字体写成全路径或带空格不加引号,比如 font-family: Helvetica Neue, Arial, sans-serif —— 这里 Helvetica Neue 含空格,必须用引号包裹,否则浏览器只认到 Helvetica 就截断了。

  • 中文字体名含空格或中文时一律加双引号:"Microsoft YaHei""PingFang SC""思源黑体"
  • 英文无空格字体可不加引号:VerdanaGeorgia,但统一加更安全
  • 避免使用本地未预装的自定义字体名(如 "MyCustomFont"),除非已通过 @font-face 正确声明并加载

中英文混排时 font-family 要分层声明才不崩

中文字体通常不包含英文字母的优化字形,英文部分直接套用中文字体会显得僵硬;反过来,纯英文字体(如 Inter)往往缺失汉字支持。靠单个 font-family 列表很难兼顾。

稳妥做法是用「语言感知」方式:对中文内容用中文字体优先列表,对英文/数字用西文字体优先列表。CSS 中可通过 :lang() 或专门类名控制,但更常用的是在根元素或 body 上设置主字体,再用子选择器覆盖:

立即学习前端免费学习笔记(深入)”;

body {
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", sans-serif;
}

这个顺序本质是「先试系统级无衬线西文字体 → 再试主流中文字体 → 最后兜底 sans-serif」。注意 PingFang SCmacOS 字体在 Windows 上无效,但因有 fallback 所以不影响渲染。

知鹿匠
知鹿匠

知鹿匠教师AI工具,新课标教案_AI课件PPT_作业批改

下载

@font-face 加载失败时 font-family 不会自动跳过该字体名

如果用了 @font-face 声明了一个自定义字体(如 font-family: "BrandSans"),但该字体文件 404 或 CORS 阻止加载,浏览器仍会“记住”这个字体名存在——后续在 font-family 中引用它,就会卡在这个名字上,不再往下找 fallback。

  • 验证是否加载成功:打开 DevTools → Network 标签页,过滤 font,看对应 woff2/woff 文件状态码
  • 临时规避:在 font-family 列表中把自定义字体放在系统字体之后,例如 font-family: "SystemFont", "BrandSans", sans-serif,这样即使 "BrandSans" 失效,前面的系统字体还能撑住
  • 不要依赖 font-display: swap 来“修复”加载失败——它只控制闪动行为,不改变字体名注册状态

font-family 继承机制导致局部重置容易漏掉深层节点

font-family 是可继承属性,一旦在 body 设定,所有后代元素默认沿用。但某些组件(如 codepre、按钮、输入框)常被设为等宽字体,若只在组件本身写 font-family: monospace,其内部文字(如 span 子元素)可能意外继承外部的非等宽字体。

解决方法不是逐个子元素加样式,而是用 all: unset + 显式重置,或更稳妥地用属性继承切断:

code, kbd, samp, pre {
  font-family: ui-monospace, "SFMono-Regular", Menlo, monospace;
  /* 强制子元素也走这套字体栈 */
  font-family: inherit;
}

真正容易被忽略的是表单控件(selecttextarea)在不同浏览器中的字体行为差异:Chrome 会继承 font-family,但 Safari 可能强制使用系统控件字体,此时需单独加 font: inherit 或显式声明。

热门AI工具

更多
DeepSeek
DeepSeek

幻方量化公司旗下的开源大模型平台

豆包大模型
豆包大模型

字节跳动自主研发的一系列大型语言模型

通义千问
通义千问

阿里巴巴推出的全能AI助手

腾讯元宝
腾讯元宝

腾讯混元平台推出的AI助手

文心一言
文心一言

文心一言是百度开发的AI聊天机器人,通过对话可以生成各种形式的内容。

讯飞写作
讯飞写作

基于讯飞星火大模型的AI写作工具,可以快速生成新闻稿件、品宣文案、工作总结、心得体会等各种文文稿

即梦AI
即梦AI

一站式AI创作平台,免费AI图片和视频生成。

ChatGPT
ChatGPT

最最强大的AI聊天机器人程序,ChatGPT不单是聊天机器人,还能进行撰写邮件、视频脚本、文案、翻译、代码等任务。

相关专题

更多
chrome什么意思
chrome什么意思

chrome是浏览器的意思,由Google开发的网络浏览器,它在2008年首次发布,并迅速成为全球最受欢迎的浏览器之一。本专题为大家提供chrome相关的文章、下载、课程内容,供大家免费下载体验。

842

2023.08.11

chrome无法加载插件怎么办
chrome无法加载插件怎么办

chrome无法加载插件可以通过检查插件是否已正确安装、禁用和启用插件、清除插件缓存、更新浏览器和插件、检查网络连接和尝试在隐身模式下加载插件方法解决。更多关于chrome相关问题,详情请看本专题下面的文章。php中文网欢迎大家前来学习。

746

2023.11.06

堆和栈的区别
堆和栈的区别

堆和栈的区别:1、内存分配方式不同;2、大小不同;3、数据访问方式不同;4、数据的生命周期。本专题为大家提供堆和栈的区别的相关的文章、下载、课程内容,供大家免费下载体验。

398

2023.07.18

堆和栈区别
堆和栈区别

堆(Heap)和栈(Stack)是计算机中两种常见的内存分配机制。它们在内存管理的方式、分配方式以及使用场景上有很大的区别。本文将详细介绍堆和栈的特点、区别以及各自的使用场景。php中文网给大家带来了相关的教程以及文章欢迎大家前来学习阅读。

575

2023.08.10

windows查看端口占用情况
windows查看端口占用情况

Windows端口可以认为是计算机与外界通讯交流的出入口。逻辑意义上的端口一般是指TCP/IP协议中的端口,端口号的范围从0到65535,比如用于浏览网页服务的80端口,用于FTP服务的21端口等等。怎么查看windows端口占用情况呢?php中文网给大家带来了相关的教程以及文章,欢迎大家前来阅读学习。

810

2023.07.26

查看端口占用情况windows
查看端口占用情况windows

端口占用是指与端口关联的软件占用端口而使得其他应用程序无法使用这些端口,端口占用问题是计算机系统编程领域的一个常见问题,端口占用的根本原因可能是操作系统的一些错误,服务器也可能会出现端口占用问题。php中文网给大家带来了相关的教程以及文章,欢迎大家前来学习阅读。

1129

2023.07.27

windows照片无法显示
windows照片无法显示

当我们尝试打开一张图片时,可能会出现一个错误提示,提示说"Windows照片查看器无法显示此图片,因为计算机上的可用内存不足",本专题为大家提供windows照片无法显示相关的文章,帮助大家解决该问题。

804

2023.08.01

windows查看端口被占用的情况
windows查看端口被占用的情况

windows查看端口被占用的情况的方法:1、使用Windows自带的资源监视器;2、使用命令提示符查看端口信息;3、使用任务管理器查看占用端口的进程。本专题为大家提供windows查看端口被占用的情况的相关的文章、下载、课程内容,供大家免费下载体验。

454

2023.08.02

2026赚钱平台入口大全
2026赚钱平台入口大全

2026年最新赚钱平台入口汇总,涵盖任务众包、内容创作、电商运营、技能变现等多类正规渠道,助你轻松开启副业增收之路。阅读专题下面的文章了解更多详细内容。

8

2026.01.31

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
Sass 教程
Sass 教程

共14课时 | 0.8万人学习

Bootstrap 5教程
Bootstrap 5教程

共46课时 | 3.1万人学习

CSS教程
CSS教程

共754课时 | 25.5万人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号