CSS 是什么:它如何与 HTML、JavaScript 配合控制网页样式

CSS(Cascading Style Sheets,层叠样式表)是一种用来控制网页外观和布局的语言。它决定文字多大、颜色是什么、元素排成一行还是一列、页面在手机和电脑上分别长什么样。如果你已经会写 HTML,CSS 就是让页面从“有内容”变成“能看”的那一层;如果还没接触过 HTML,建议先理解标签如何描述内容结构,再回来看 CSS 会顺畅很多。

CSS 在网页三层分工中的位置

一个网页通常由三种技术各管一件事:

技术 负责 类比
HTML 结构:页面上有哪些内容,谁是标题、谁是段落、谁是按钮 房子的墙和房间
CSS 表现:这些内容长什么样、摆在哪里 装修、颜色、家具摆放
JavaScript 行为:用户操作后发生什么,数据如何变化 水电、开关、自动门

三者可以各自独立存在。只有 HTML 的页面能读但很朴素;加上 CSS 后视觉成型;再加上 JavaScript 才能响应用户点击、动态更新内容。CSS 不负责逻辑,JavaScript 也不负责“这个按钮应该是蓝色”——分工清楚,维护起来才不会互相打架。

CSS 的基本工作方式:选择器 + 声明块

一条 CSS 规则由两部分组成:

  • 选择器:指出“要样式化哪些元素”,比如所有 <p>、class 为 card 的元素。
  • 声明块:用花括号包住若干条声明,每条声明是“属性: 值;”。
p {
  color: #333;
  font-size: 16px;
}

这段规则的意思是:页面上所有 <p> 段落,文字颜色为深灰,字号 16 像素。浏览器读到后,会把这些样式应用到匹配的元素上。

“层叠”是 CSS 的核心机制:同一个元素可能被多条规则命中,浏览器按来源、优先级(specificity)和书写顺序决定最终用哪条。优先级相同时,后写的覆盖先写的,这也是为什么调整顺序有时能直接改变效果。

三种引入 CSS 的方式

  1. 外部样式表:把样式写在单独的 .css 文件里,用 <link> 引入。适合正式项目,多个页面共用一套样式,改一处全站生效。
<link rel="stylesheet" href="style.css">
  1. 内部样式:写在 HTML 的 <style> 标签里,只作用于当前页面。适合单页演示或临时调试。

  2. 行内样式:直接写在元素的 style 属性上,只作用于该元素。优先级最高,但难以复用,通常只用于个别动态场景。

<p style="color: red;">这段文字是红色的</p>

选择哪种方式,取决于样式需要被多少页面复用。复用范围越大,越应该放到外部样式表。

一个最小可运行的例子

新建一个 index.html,内容如下:

<!DOCTYPE html>
<html lang="zh-CN">
<head>
  <meta charset="UTF-8">
  <title>CSS 示例</title>
  <style>
    body {
      font-family: sans-serif;
      background: #f5f5f5;
    }
    .card {
      background: white;
      padding: 16px;
      border-radius: 8px;
      max-width: 320px;
      margin: 40px auto;
      box-shadow: 0 2px 8px rgba(0,0,0,0.1);
    }
    .card h1 {
      font-size: 20px;
      color: #1a1a1a;
    }
  </style>
</head>
<body>
  <div class="card">
    <h1>你好,CSS</h1>
    <p>这段文字被样式控制着。</p>
  </div>
</body>
</html>

用浏览器打开这个文件,你会看到一张居中的白色卡片,带圆角和阴影。验证方法:把 background: white; 改成 background: yellow; 并刷新,卡片背景立刻变黄,说明样式确实生效。常见卡点:如果没变化,先检查选择器拼写、花括号和分号是否完整——CSS 对语法错误不会报错,只会静默忽略那一条声明。

什么时候需要 CSS,什么时候不需要

  • 只是写一段纯文本说明、不关心外观:可以只用 HTML。
  • 需要控制排版、配色、响应式布局:必须用 CSS。
  • 需要根据用户操作实时改变样式:用 JavaScript 修改元素的 class 或 style,样式规则本身仍写在 CSS 里。

把“长什么样”尽量留在 CSS,“做什么”交给 JavaScript,是前端代码保持可维护的基本习惯。

bootcss.com
Bootstrap是Twitter推出的一个用于前端开发的开源工具包。它由Twitter的设计师Mark Otto和Jacob Thornton合作开发,是一个CSS/HTML框架。目前,Bootstrap最新版本为5.0 。Bootstrap中文网致力于为广大国内开发者提供详尽的中文文档、代...
dome.sourceforge.net
Contempo
empathyalgorithm.com
Empathy Algorithm is the best Home Health Agency App providing elder care and disability care services to your loved ones with just one click. Get ...
jsfiddle.net
JSFiddle - Test your React, Tailwind, JavaScript, CSS, HTML online with JSFiddle.
ng.ant.design
ng-zorro-antd 是遵循 Ant Design 设计规范的 Angular UI 组件库,主要用于研发企业级中后台产品。全部代码开源并遵循 MIT 协议,任何企业、组织及个人均可免费使用。提炼自企业级中后台产品的交互语言和视觉风格。开箱即用的高质量 Angular 组件库,与 Ang...
runoob.com
菜鸟教程(www.runoob.com)提供了编程的基础技术教程, 介绍了HTML、CSS、Javascript、Python,Java,Ruby,C,PHP , MySQL等各种编程语言的基础知识。 同时本站中也提供了大量的在线实例,通过实例,您可以更好的学习编程。..