Skip to content

CSS 入门:为什么需要 CSS 与三种添加方式

BeginnerCSS Fundamentals

CSS(Cascading Style Sheets,层叠样式表)是 Web 开发三大核心语言之一,负责定义网页的 视觉表现——颜色、字体、布局、动画等一切与"看起来如何"相关的部分。


一、📜 CSS 的历史与诞生

1.1 HTML "无法满足样式需求" 的时代

在互联网早期(~1996 年),只有 HTML 而没有 CSS。开发者想控制网页的外观却没有好的手段。Mosaic 浏览器创始人 Marc Andreessen 曾在邮件中回复开发者:

"Sorry, you're screwed."(抱歉,你没办法。)

1.2 HTML 3.2 的尝试与问题

1997 年 W3C 发布 HTML 3.2,引入了样式相关的标签和属性:

元素/属性作用状态
<font> 标签设置字体大小、颜色、字体类型已弃用
color 属性设置文本颜色已弃用
<center> 元素居中对齐内容已弃用

为什么弃用?

将样式混入 HTML 会导致代码 严重耦合:一个简单页面都会有成千上万行的样式代码与内容标记混在一起,完全无法维护。

1.3 CSS 的诞生

1996 年,Håkon Wium Lie 提出 CSS 推荐标准(W3C CSS1),核心思想是 关注点分离(Separation of Concerns):

  • HTML → 负责 内容与结构
  • CSS → 负责 视觉呈现

这种模块化设计使得前端开发变得可维护、可协作。


二、🎨 CSS 能做什么

CSS 可以在 不修改 HTML 的前提下,彻底改变网页的外观:

维度控制内容
颜色背景色、文字色、边框色
字体字体族、大小、粗细、行高
布局定位、浮动、Flex、Grid
间距Margin、Padding
动画过渡、关键帧动画、变换

CSS 的魔法

同一份 HTML,仅通过切换/添加 CSS 文件就能呈现截然不同的视觉效果。内容不变,样式任选。


三、📝 CSS 规则的基本语法

一条 CSS 规则由 选择器声明块 组成:

css
selector {
  property: value;
}
组成部分说明示例
Selector(选择器)指定要应用样式的 HTML 元素h1.class#id
Property(属性)要改变的样式属性colorfont-size
Value(值)属性的取值red16px

冒号 : 分隔属性与值,分号 ; 结束一条声明。


四、🔌 三种添加 CSS 的方式

4.1 Inline CSS(行内样式)

直接在 HTML 元素的 style 属性 中编写 CSS:

html
<html style="background-color: blue;">
特点说明
✅ 优先级高几乎唯一指定这 一个 元素
✅ 快速测试适合临时调试某个元素的样式
❌ 不可复用只对当前元素生效,其他元素需重复写
❌ 耦合严重样式与 HTML 混在一起,难以维护

注意

Inline CSS 中 不需要选择器,因为样式已经写在了具体元素的标签内,上下文已明确。

4.2 Internal CSS(内部样式表)

在 HTML 文件的 <head> 内使用 <style> 元素:

html
<head>
  <style>
    html {
      background-color: red;
    }
  </style>
</head>
特点说明
✅ 需要选择器可以选择当前页面中的 任意元素
✅ 集中管理样式写在一处,便于查看
❌ 仅限单页只对当前 HTML 文件生效

4.3 External CSS(外部样式表)⭐ 推荐

将 CSS 写在独立的 .css 文件中,通过 <link> 元素引入:

html
<!-- index.html -->
<head>
  <link rel="stylesheet" href="./styles.css" />
</head>
css
/* styles.css */
html {
  background-color: green;
}
特点说明
✅ 完全分离HTML 与 CSS 各管各的
✅ 多页复用多个 HTML 文件可以链接同一个 CSS 文件
✅ 浏览器缓存CSS 文件可被缓存,加快后续页面加载
✅ 协作友好设计师改 CSS,开发者改 HTML,互不干扰

五、📊 三种方式对比总结

维度InlineInternalExternal
作用范围单个元素单个页面整个网站
是否需要选择器❌ 不需要✅ 需要✅ 需要
可维护性⭐⭐⭐⭐⭐
复用性
推荐场景临时调试单页原型生产环境

优先级法则

当三种方式同时作用于同一元素的同一属性时,Inline > Internal > External。这是 CSS 层叠机制的一部分(详见《选择器与优先级》)。


六、📚 参考资源


← 返回 Web 开发研究