link 标签必须写 rel="stylesheet" 且 href 为有效路径,推荐置于 head 中;路径以 / 开头表示根目录,否则相对 HTML 当前位置;加载顺序决定覆盖关系,后解析的样式优先。
link 标签怎么写才生效
浏览器只认特定写法的 <link>,漏掉一个属性或放错位置,css 就不加载。
- 必须写
rel="stylesheet",缺了它,浏览器当普通链接处理,样式不会应用 -
href值要是相对路径或绝对 URL,不能是本地文件系统路径(比如file:///D:/style.css在多数现代浏览器会被跨域策略拦截) - 推荐放在
里,放底部虽能工作,但可能造成页面先无样式渲染再重绘(FOUC) - 示例正确写法:
<link rel="stylesheet" href="css/style.css">
css 文件路径写不对的典型表现
样式没效果?大概率是路径问题。浏览器控制台会报 Failed to load resource: the server responded with a status of 404 (),但很多人只盯着 CSS 写法,忽略这个提示。
- 路径以
/开头:从网站根目录找,比如href="/css/main.css"对应https://example.com/css/main.css - 路径不以
/开头:相对于当前 HTML 文件位置,href="css/main.css"在/pages/about.html中,就会请求/pages/css/main.css - 用开发者工具的 Network 标签页点开那个 404 请求,看浏览器实际发的是什么 URL,比猜快得多
内联 style 和 link 加载顺序谁优先
不是“谁更高级”,而是“谁后解析谁赢”。浏览器按 HTML 文档流顺序解析样式规则,后面加载的同名规则会覆盖前面的。
-
<link>引入的外部 CSS 在文档头部,通常最先解析 - HTML 元素上的
style属性(如<div style="color:red">)属于内联样式,优先级最高,但仅作用于该元素 <li>如果在 <code>里写了<link>,又在底部加了<style></style>块,后者声明的规则会覆盖前者同名项 - 注意:CSS 的
!important是另一层机制,和加载顺序无关,慎用 - 写法就是
<style>body { margin: 0; }</style>,必须放在或内,不能悬空 - 里面写的是标准 CSS,支持媒体查询、变量(
--main-color)、伪类等,和外部文件完全一致 - 如果多个页面都用同一套按钮样式,硬编码到每个 HTML 里,改一处就得改十处——这时候就该抽成
<link rel="stylesheet" href="...">
HTML 中直接写 style 标签行不行
行,但只适合极小量、页面独有、不复用的样式。写多了会让 HTML 膨胀,且无法被浏览器缓存。










