CSS 引入方式
要将 CSS 样式应用到 HTML 文档中,你需要将 CSS 代码引入到 HTML 中。CSS 有三种主要的引入方式:
- 内联样式(Inline Styles):直接在 HTML 标签中使用
style属性 - 内部样式表(Internal Style Sheet):在 HTML 文档的
<head>标签中使用<style>标签 - 外部样式表(External Style Sheet):将 CSS 代码保存在独立的
.css文件中,然后在 HTML 中引用
每种方式都有其适用场景,让我们逐一了解。
1. 内联样式
内联样式(Inline Styles)是直接在 HTML 标签中使用 style 属性来定义样式。
语法
<标签名 style="属性1: 值1; 属性2: 值2;">
示例
<p style="color: blue; font-size: 16px;">这是一段蓝色文字</p>
<h1 style="color: red; text-align: center;">这是居中的红色标题</h1>
<div style="background-color: yellow; padding: 20px;">
这是一个带背景色的容器
</div>
优点
- 优先级高:内联样式的优先级最高,可以覆盖其他样式
- 快速测试:适合快速测试某个元素的样式效果
- 特定样式:适合为单个元素设置独特的样式
缺点
- 代码冗余:每个标签都要重复写样式代码
- 难以维护:要修改样式需要逐个修改每个标签
- 无法复用:相同的样式需要重复编写
- 违反分离原则:内容和样式混在一起
使用建议
内联样式应该尽量避免使用,只在以下情况下考虑:
- 需要覆盖其他样式(但更好的方式是提高选择器优先级)
- 动态生成的样式(通过 JavaScript 动态设置)
- 邮件模板(某些邮件客户端只支持内联样式)
2. 内部样式表
内部样式表(Internal Style Sheet)是在 HTML 文档的 <head> 标签中使用 <style> 标签来定义样式。
语法
<!DOCTYPE html>
<html>
<head>
<style>
选择器 {
属性1: 值1;
属性2: 值2;
}
</style>
</head>
<body>
<!-- HTML 内容 -->
</body>
</html>
示例
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>内部样式表示例</title>
<style>
body {
font-family: Arial, sans-serif;
margin: 0;
padding: 20px;
background-color: #f5f5f5;
}
h1 {
color: #333;
text-align: center;
}
p {
color: #666;
line-height: 1.6;
}
.highlight {
background-color: yellow;
padding: 2px 4px;
}
</style>
</head>
<body>
<h1>欢迎来到我的网站</h1>
<p>这是一段普通文字。</p>
<p class="highlight">这是一段高亮文字。</p>
</body>
</html>
优点
- 集中管理:所有样式集中在一个地方,便于管理
- 页面特定:适合为单个页面设置独特的样式
- 无需额外文件:不需要创建额外的 CSS 文件
缺点
- 无法复用:样式只能在当前页面使用,其他页面无法共享
- 增加 HTML 文件大小:样式代码会增加 HTML 文件的大小
- 维护困难:如果多个页面需要相同样式,需要重复编写
使用建议
内部样式表适合:
- 单页应用:只有一个 HTML 页面的简单网站
- 页面特定样式:某个页面独有的样式
- 快速原型:快速开发原型时使用
3. 外部样式表
外部样式表(External Style Sheet)是将 CSS 代码保存在独立的 .css 文件中,然后在 HTML 中使用 <link> 标签引用。
创建 CSS 文件
首先,创建一个 CSS 文件(例如 styles.css):
/* styles.css */
body {
font-family: Arial, sans-serif;
margin: 0;
padding: 20px;
background-color: #f5f5f5;
}
h1 {
color: #333;
text-align: center;
}
p {
color: #666;
line-height: 1.6;
}
.highlight {
background-color: yellow;
padding: 2px 4px;
}
在 HTML 中引用
在 HTML 文档的 <head> 标签中使用 <link> 标签引用 CSS 文件:
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>外部样式表示例</title>
<link rel="stylesheet" href="styles.css">
</head>
<body>
<h1>欢迎来到我的网站</h1>
<p>这是一段普通文字。</p>
<p class="highlight">这是一段高亮文字。</p>
</body>
</html>
<link> 标签属性
rel="stylesheet":指定链接的关系类型为样式表href="styles.css":指定 CSS 文件的路径
路径说明
CSS 文件的路径可以是:
<!-- 相对路径:同一目录 -->
<link rel="stylesheet" href="styles.css">
<!-- 相对路径:子目录 -->
<link rel="stylesheet" href="css/styles.css">
<!-- 相对路径:上级目录 -->
<link rel="stylesheet" href="../styles.css">
<!-- 绝对路径:网站根目录 -->
<link rel="stylesheet" href="/css/styles.css">
<!-- 完整 URL:外部资源 -->
<link rel="stylesheet" href="https://example.com/styles.css">
引用多个 CSS 文件
你可以引用多个外部样式表:
<head>
<link rel="stylesheet" href="reset.css">
<link rel="stylesheet" href="layout.css">
<link rel="stylesheet" href="theme.css">
</head>
注意:多个样式表的加载顺序很重要,后面的样式会覆盖前面的样式(如果选择器优先级相同)。
优点
- 样式复用:多个页面可以共享同一个 CSS 文件
- 易于维护:修改一处即可影响所有使用该文件的页面
- 代码分离:内容和样式完全分离,代码更清晰
- 提高性能:浏览器会缓存 CSS 文件,提高页面加载速度
- 团队协作:前端开发者可以专注于 CSS,后端开发者专注于 HTML
缺点
- 需要额外文件:需要创建和维护额外的 CSS 文件
- 可能增加 HTTP 请求:如果引用多个 CSS 文件,会增加 HTTP 请求次数(可以通过合并文件解决)
使用建议
外部样式表是最推荐的方式,适合:
- 多页面网站:有多个 HTML 页面的网站
- 大型项目:需要团队协作的大型项目
- 生产环境:正式发布的网站
CSS 引入方式的优先级
当同一个元素被多种方式设置样式时,优先级从高到低为:
- 内联样式(最高优先级)
- 内部样式表
- 外部样式表(最低优先级)
示例
<!DOCTYPE html>
<html>
<head>
<style>
p {
color: blue; /* 内部样式表 */
}
</style>
<link rel="stylesheet" href="styles.css">
<!-- styles.css 中:p { color: green; } -->
</head>
<body>
<p style="color: red;">这段文字是红色的</p>
<!-- 内联样式优先级最高,所以显示红色 -->
</body>
</html>