适合人群 :有 HTML 基础,想快速掌握 CSS 的前端初学者
学习目标 :理解 CSS 核心概念,能独立为网页添加基本样式
技术栈:HTML5 + CSS3(2026 年最新实践)
一、什么是 CSS?
CSS(Cascading Style Sheets,层叠样式表)是一种用于描述 HTML 文档外观和格式的样式表语言。通过 CSS,你可以控制网页的布局、颜色、字体、动画等视觉效果。
为什么需要 CSS?
- 分离内容与样式:HTML 负责结构,CSS 负责样式
- 提高可维护性:一处修改,全局生效
- 增强用户体验:响应式设计、交互效果
💡 2026 年现状:CSS 已支持网格布局(Grid)、弹性盒子(Flexbox)、变量、自定义属性等现代特性。
二、环境准备:搭建基础项目
方式 1:纯 HTML + CSS(推荐新手)
xml
<!DOCTYPE html>
<html lang="zh-CN">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>CSS 入门示例</title>
<!-- 外部样式表 -->
<link rel="stylesheet" href="styles.css">
</head>
<body>
<h1>Hello CSS!</h1>
<p>这是一个简单的段落。</p>
</body>
</html>
css
/* styles.css */
body {
font-family: Arial, sans-serif;
background-color: #f0f0f0;
}
h1 {
color: #333;
text-align: center;
}
p {
font-size: 18px;
line-height: 1.6;
}
方式 2:使用 VS Code 或其他编辑器
- 创建
index.html和styles.css - 使用 Live Server 插件实时预览效果
三、CSS 选择器:精准定位元素
1. 基础选择器
类型选择器(Type Selector)
css
/* 选中所有 h1 元素 */
h1 {
color: red;
}
类选择器(Class Selector)
ini
/* 选中所有 class="highlight" 的元素 */
.highlight {
background-color: yellow;
}
ID 选择器(ID Selector)
ini
/* 选中 id="header" 的元素 */
#header {
padding: 20px;
}
通用选择器(Universal Selector)
css
/* 选中所有元素 */
* {
margin: 0;
padding: 0;
}
2. 组合选择器
后代选择器(Descendant Selector)
css
/* 选中 ul 内的所有 li */
ul li {
list-style-type: square;
}
子选择器(Child Selector)
css
/* 选中直接子元素 */
nav > ul {
margin-left: 20px;
}
相邻兄弟选择器(Adjacent Sibling Selector)
css
/* 选中紧跟在 h1 后面的 p */
h1 + p {
font-weight: bold;
}
通用兄弟选择器(General Sibling Selector)
css
/* 选中 h1 后面的所有 p */
h1 ~ p {
color: blue;
}
四、CSS 属性:美化你的页面
1. 文本样式
css
p {
/* 字体大小 */
font-size: 16px;
/* 行高 */
line-height: 1.5;
/* 字体粗细 */
font-weight: normal;
/* 字体风格 */
font-style: italic;
/* 颜色 */
color: #333;
/* 对齐方式 */
text-align: justify;
/* 文本缩进 */
text-indent: 2em;
/* 字间距 */
letter-spacing: 1px;
/* 行间距 */
line-height: 1.8;
}
2. 盒模型
css
.box {
/* 宽度 */
width: 300px;
/* 高度 */
height: 200px;
/* 内边距 */
padding: 20px;
/* 边框 */
border: 2px solid #ccc;
/* 外边距 */
margin: 10px;
}
📌 盒模型公式 :总宽 =
width + padding-left + padding-right + border-left + border-right + margin-left + margin-right
3. 背景
css
.container {
/* 背景颜色 */
background-color: #f0f0f0;
/* 背景图片 */
background-image: url('background.jpg');
/* 图片位置 */
background-position: center;
/* 图片重复方式 */
background-repeat: no-repeat;
/* 尺寸 */
background-size: cover;
}
4. 布局
弹性盒子(Flexbox)
css
.container {
display: flex;
justify-content: space-between; /* 水平对齐 */
align-items: center; /* 垂直对齐 */
flex-wrap: wrap; /* 自动换行 */
}
.item {
flex: 1; /* 等分宽度 */
margin: 10px;
}
网格布局(Grid)
css
.grid-container {
display: grid;
grid-template-columns: repeat(3, 1fr); /* 3 列等分 */
gap: 10px; /* 间距 */
}
.grid-item {
padding: 20px;
background-color: #fff;
}
五、响应式设计:适配不同设备
1. 媒体查询
css
/* 当屏幕宽度小于 768px 时应用 */
@media (max-width: 768px) {
.container {
flex-direction: column; /* 垂直排列 */
}
}
/* 当屏幕宽度大于等于 768px 时应用 */
@media (min-width: 768px) {
.container {
flex-direction: row; /* 水平排列 */
}
}
2. 视口单位
css
.container {
width: 90vw; /* 视口宽度的 90% */
height: 50vh; /* 视口高度的 50% */
}
3. 相对单位
css
.box {
/* 字体大小基于父元素 */
font-size: 1.2rem;
/* 宽度基于父元素 */
width: 50%;
/* 内边距基于字体大小 */
padding: 1em;
}
六、实战:构建一个简单博客页面
1. 项目结构
blog/
├── index.html
└── styles.css
2. index.html(HTML 结构)
xml
<!DOCTYPE html>
<html lang="zh-CN">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>我的博客</title>
<link rel="stylesheet" href="styles.css">
</head>
<body>
<header>
<h1>欢迎来到我的博客</h1>
</header>
<main>
<section class="post">
<h2>第一篇文章</h2>
<p>这是我的第一篇博客文章...</p>
</section>
<section class="post">
<h2>第二篇文章</h2>
<p>这是我的第二篇博客文章...</p>
</section>
</main>
<footer>
<p>© 2026 我的博客</p>
</footer>
</body>
</html>
3. styles.css(样式表)
css
/* 重置默认样式 */
* {
margin: 0;
padding: 0;
box-sizing: border-box;
}
body {
font-family: 'Arial', sans-serif;
line-height: 1.6;
background-color: #f9f9f9;
color: #333;
}
header {
background-color: #4CAF50;
color: white;
padding: 20px;
text-align: center;
}
main {
max-width: 800px;
margin: 20px auto;
padding: 20px;
background-color: white;
box-shadow: 0 0 10px rgba(0, 0, 0, 0.1);
}
.post {
margin-bottom: 20px;
}
h2 {
color: #333;
border-bottom: 1px solid #ddd;
padding-bottom: 10px;
}
footer {
text-align: center;
padding: 10px;
background-color: #f1f1f1;
position: fixed;
bottom: 0;
width: 100%;
}
七、调试技巧
1. 浏览器 DevTools
- 打开 Chrome/Firefox 开发者工具 → Elements → 查看并实时修改 CSS
- 使用
Ctrl+Shift+C(Windows/Linux)或Cmd+Shift+C(Mac)进行元素检查
2. 常见错误排查
| 错误现象 | 解决方案 |
|---|---|
| 样式不生效 | 检查选择器是否正确,优先级是否足够 |
| 布局错乱 | 使用 Flexbox/Grid 调整布局,检查 display 属性 |
| 动画卡顿 | 减少不必要的动画,优化性能 |
八、下一步学习路线
- 深入布局:掌握 Flexbox 和 Grid 布局
- 动画效果 :学习
transition和animation - 高级选择器 :伪类(
:hover,:nth-child)和伪元素(::before,::after) - Sass/SCSS:提升 CSS 编写效率
- 框架集成:结合 Bootstrap/Tailwind 实现快速开发
九、总结:CSS 核心要点
| 概念 | 关键语法 | 用途 |
|---|---|---|
| 选择器 | .class, #id, element |
定位要样式的元素 |
| 盒模型 | margin, padding, border |
控制元素内外空间 |
| 布局 | flex, grid |
构建复杂页面结构 |
| 响应式 | @media, vw, vh |
适应不同设备屏幕 |
| 文本样式 | font-size, color, text-align |
设置文字外观 |
💬 记住 :
"CSS 是一门强大的语言,它让网页不仅有内容,更有'颜值'。"掌握这些基础知识,你就已经入门了!
资源推荐:
- MDN Web Docs - CSS
- CSS Tricks
- Flexbox Froggy 游戏化学习 Flexbox
- Grid Garden 游戏化学习 Grid
作者 :前端工程师
更新日期 :2026 年 2 月
版权声明:本文可自由转载,但请保留出处。
如果你希望我提供 完整的博客项目代码仓库 或 更多高级 CSS 特性示例,欢迎继续提问!