CSS: CSS 引入方式

CSS 样式可以通过三种方式引入到 HTML 文档中:行内样式、内嵌样式和外链样式。每种方式各有适用场景。

✅ 最佳实践: 生产环境推荐用外链样式(<link>)。它让 HTML 和 CSS 完全分离,浏览器还能缓存 CSS 文件,多页面共享时加载速度更快。

1. 行内样式(内联样式)

行内样式是直接把 CSS 写在 HTML 标签的 style 属性中。

▶ 示例

HTML
<p>这段文字是红色,18像素</p>

<div style="width: 200px; height: 100px; background: blue;">
  这是一个蓝色方块
</div>
▶ 试一试

特点:

适用场景: 极少使用。可能用在一些需要动态通过 JavaScript 修改样式的场景。


2. 内嵌样式

内嵌样式是把 CSS 写在 HTML 文档的 <head> 标签内,用 <style> 标签包裹。

▶ 示例

HTML
<!DOCTYPE html>
<html lang="zh-CN">
<head>
  <meta charset="UTF-8">
  <title>内嵌样式示例</title>
  <style>
    p {
      color: red;
      font-size: 16px;
    }
    h1 {
      color: blue;
      text-align: center;
    }
    .highlight {
      background-color: yellow;
    }
  </style>
</head>
<body>
  <h1>标题</h1>
  <p>段落文字</p>
  <p>这段文字有高亮背景效果</p>
</body>
</html>
▶ 试一试

特点:


3. 外链样式(外部样式表)

外链样式是把 CSS 写在一个单独的 .css 文件中,然后用 <link> 标签引入到 HTML 中。这是实际开发中最常用的方式。

HTML 文件:

HTML
<!DOCTYPE html>
<html lang="zh-CN">
<head>
  <meta charset="UTF-8">
  <title>外链样式示例</title>
  <link rel="stylesheet" href="style.css">
</head>
<body>
  <p>这段文字的样式来自外部CSS文件</p>
</body>
</html>

style.css 文件:

CSS
p {
  color: red;
  font-size: 16px;
  line-height: 1.8;
}

特点:

(1) @import 方式(了解即可)

⚠️ 注意: @import 会在 CSS 文件加载完成后再去加载被引入的文件,导致页面出现"无样式闪烁"。现代项目中已基本淘汰,统一用 <link> 替代。

除了 <link> 标签,还可以在 CSS 文件中用 @import 导入其他 CSS 文件:

▶ 示例

HTML
<style>
@import url("reset.css");
@import url("layout.css");

p {
  color: red;
}
</style>
<p>这是一个段落示例。</p>
▶ 试一试

但这种方式的性能不如 <link> 标签,不建议使用。


4. 三种方式的对比

特性 行内样式 内嵌样式 外链样式
复用性 不复用 单页复用 多页共享
结构与样式分离 ❌ 完全混合 ✅ 分离(同文件) ✅ 完全分离
优先级 最高 中等 最低
加载性能 无额外请求 无额外请求 需额外HTTP请求
推荐程度 ⭐⭐ ⭐⭐⭐⭐⭐

5. 优先级关系

当三种方式同时出现时,优先级规则是:

行内样式 > 内嵌样式 > 外链样式

注意:这里说的是引入方式的优先级,跟选择器权重是两回事。选择器权重在"同一引入方式内部"比较,而当不同引入方式的样式冲突时,才看引入方式的优先级。


❓ 常见问题

Q 三种 CSS 引入方式各适合什么场景?
A 外链样式是生产环境的标准做法(多个页面共享一个 .css 文件,浏览器缓存快);内嵌样式适合单页应用或首页首屏样式;行内样式只建议临时调试用,不要在正式项目中大量使用。
Q link 引入和 @import 有什么区别?
A link 是 HTML 标签,@import 是 CSS 语法。link 和 HTML 同时加载,@import 要等 CSS 文件下载完才加载被引用的文件,速度慢。link 是推荐做法。
Q 行内样式优先级是不是最高?
A 行内样式优先级确实很高,但用 !important 可以盖过它。建议优先用选择器权重来管理样式,不要依赖 !important,否则后期维护很痛苦。

📖 小节

📝 作业

  1. 创建一个 HTML 文件,分别用行内、内嵌、外链三种方式设置不同的样式。
  2. 创建一个外部的 style.css 文件,在里面定义段落颜色和标题样式,然后在 HTML 中引入。
  3. 在同一个元素上同时使用三种方式设置相同属性(比如 color),观察哪种方式最终生效,验证优先级规则。
  4. 修改 style.css 文件中的颜色,刷新浏览器观察变化,体会外链样式的维护便利性。
Web-Tutorial.com

Web-Tutorial 技术团队

由多位开发者共同维护的编程教程平台。每篇教程由对应领域的开发者编写和审核,确保内容准确可靠。如发现任何问题,欢迎向我们反馈。

100%

🙏 帮我们做得更好

我们是刚上线的编程教程站,几个人的小团队,精力有限。页面虽经检查,难免还有疏漏——链接失效、排版错乱、内容有误、语言生硬……

如果您发现了,麻烦告诉我们,我们会在收到反馈后第一时间进行修复,再次感谢您的光临 🙏