HTML行内样式必须写在开始标签的style属性中且语法正确,class与id优先级取决于选择器权重,外部CSS需路径准确并置于head内,中文字体须按平台显式声明完整字体栈。

行内样式写错位置,style 属性根本不会生效
HTML 里加样式最直接的方式是用 style 属性,但它只能写在开始标签里,而且必须是合法的 CSS 声明。常见错误是把它塞进结束标签、写成 Style(首字母大写)、或者漏了分号导致整条失效。
实操建议:
立即学习“前端免费学习笔记(深入)”;
-
style只能出现在开始标签内,比如<p style="color: red; font-size: 14px;">文字</p>,</p style="...">这种写法完全无效 - 属性值必须用英文引号包裹(单双都行),但不能不加——
style=color:red是错的 - 多条声明之间必须用英文分号分隔,末尾分号可省略,但中间漏了就会截断,比如
style="color:red font-size:14px"中间没分号,浏览器只认前半段
class 和 id 混用时,CSS 优先级容易翻车
新手常以为“写了 id 就一定比 class 优先”,其实还取决于选择器组合方式。一个 div#header .nav-link 的权重,远高于单独的 #sidebar;而 .btn.btn-primary(两个 class)也能压过单个 id 吗?不能,但很多人误判。
实操建议:
立即学习“前端免费学习笔记(深入)”;
- 单个
id选择器(如#menu)默认权重高于单个class(如.menu-item),但两个 class 连写(.menu.item)仍低于一个id - 真正容易出问题的是内联
style:它权重最高,会覆盖所有外部 CSS,调试时如果样式死活不生效,先检查元素有没有被style属性硬编码 - 用浏览器开发者工具看“Computed”面板,比背规则更靠谱——哪个样式被划掉、为什么被覆盖,一目了然
引入外部 CSS 文件,路径写错或加载时机不对就白搭
<link rel="stylesheet" href="..."> 放错位置、路径拼错、没加 type="text/css"(虽然现在可省略)都可能导致样式不加载。更隐蔽的问题是:CSS 文件放在 <body> 里,或放在 JS 脚本之后,页面可能先闪一下无样式的原始状态。
实操建议:
立即学习“前端免费学习笔记(深入)”;
-
href路径区分大小写,且相对路径以 HTML 文件所在目录为基准,不是以 CSS 文件位置为准。比如index.html在根目录,css/style.css在子目录,那href就得写"css/style.css",而不是"./css/style.css"(虽然多数浏览器也认,但不保险) -
<link>必须放在<head>内,且最好在<title>之后、其他资源之前;别塞进<body>,否则可能触发重排或 FOUC(Flash of Unstyled Content) - 用浏览器 Network 面板确认 CSS 文件是否返回 200,还是 404 或 403——很多“样式没效果”本质是文件根本没加载进来
中文网页默认字体不设,Windows 和 macOS 渲染效果天差地别
只写 font-family: "Helvetica Neue", Arial, sans-serif; 在 Mac 上看着还行,到了 Windows 上就变成黑体或微软雅黑,但字号、字间距、行高全乱。不是 bug,是系统默认字体栈没对齐。
实操建议:
立即学习“前端免费学习笔记(深入)”;
- 中文字体必须显式声明,且按平台习惯排序。推荐写法:
font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans CJK SC", "Microsoft YaHei", sans-serif; - 不要只依赖
"Microsoft YaHei",它在非 Windows 系统上不存在;也不要漏掉"Noto Sans CJK SC"这类开源字体,避免某些 Linux 环境下 fallback 到等宽字体 - 字体名含空格或特殊字符,必须加英文引号;中文字体名如
"微软雅黑"也要引起来,否则解析失败











