今天我们将一起学习 HTML 和 CSS 的基础知识,并通过一个实际项目——待办事项页面,带你从零开始掌握网页开发的核心技能。
无论你是小白还是有一定基础的开发者,这篇文章都将为你提供清晰的指引和实操经验。
HTML与CSS是什么?
HTML(超文本标记语言) 是网页的“骨架”,负责定义页面结构,比如标题、段落、输入框等。
CSS(层叠样式表) 则是网页的“装修”,用来美化页面,比如设置颜色、布局、圆角等。
一个简单的比喻:
- • CSS 像室内装修,决定了房子的风格和美观度。
没有HTML,CSS无法独立工作;没有CSS,HTML页面会显得单调。两者相辅相成,构成了现代网页的基础。
开发环境准备
在开始写代码之前,我们需要准备以下工具:
- 1. 代码编辑器:推荐使用 VS Code,它支持代码高亮、自动补全等功能。
- • 下载方式:打开浏览器,搜索“VS Code”,进入官网,下载适合你系统的版本。
- • 中文设置:安装后,点击左侧扩展图标,搜索“Chinese”,安装并重启VS Code即可。
- 2. 浏览器:用于预览和调试网页,推荐 Chrome 或 Firefox。
- 3. AI辅助工具(可选):可以使用AI模型(如Kimi、星火、文心一言)解答代码疑问,加速学习。
- 4. 项目文件夹:创建一个文件夹(如“todo-app”),用于存放代码文件。
- • 在VS Code中打开该文件夹,点击“新建文件”,命名为
index.html
。
第一个HTML文件
让我们从一个简单的HTML文件开始:
- 1. 打开
index.html
,输入 !
并按 Tab 键,VS Code会自动生成以下代码:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Hello</title>
</head>
<body>
<h1>Hello, World!</h1>
</body>
</html>
- 1. 保存文件(快捷键:Windows -
Ctrl+S
;Mac - Cmd+S
)。 - 2. 右键文件,选择“在浏览器中打开”,你会看到页面显示“Hello, World!”。
小技巧:
- • 调整浏览器和VS Code窗口并排,一边写代码一边预览。
打造待办事项页面
接下来,我们将通过HTML和CSS创建一个功能简单但美观的待办事项页面,包含以下元素:
- • 三个待办事项(包含复选框、任务名称和删除按钮)
1. 设置渐变背景
我们希望页面背景从紫色渐变到蓝色。打开浏览器,右键检查参考页面的背景,获取CSS代码:
body {
background: linear-gradient(to right, rgb(123, 67, 151), rgb(66, 103, 178));
}
将以上CSS写入 index.html
的 <style>
标签中:
<style>
body {
background: linear-gradient(to right, rgb(123, 67, 151), rgb(66, 103, 178));
}
</style>
保存并刷新,页面背景变为渐变色。
2. 创建主容器
在 <body>
中添加一个白色容器,设置宽度、高度、圆角和居中:
<div class="todo-app"></div>
CSS样式:
.todo-app {
width: 98%;
height: 500px;
background: #ffffff;
border-radius: 5px;
margin-top: 40px;
margin-left: 1%;
box-sizing: border-box;
}
- •
width: 98%
:容器宽度占页面98%,自适应屏幕。 - •
border-radius: 5px
:圆角效果。 - •
box-sizing: border-box
:确保内边距不影响容器尺寸。
3. 添加标题
在 <div class="todo-app">
中添加标题:
<div class="title">XXX的To-Do App</div>
CSS样式:
.title {
font-size: 30px;
font-weight: 700;
text-align: center;
padding-top: 30px;
}
- •
text-align: center
:水平居中。 - •
padding-top: 30px
:标题与容器顶部距离。
4. 输入框和按钮
在标题下方添加输入框和按钮,包裹在一个容器中以实现横向排列:
<div class="todo-form">
<input class="todo-input" placeholder="Add To-Do">
<div class="add-todo">Add To-Do</div>
</div>
CSS样式:
.todo-form {
display: flex;
margin-top: 20px;
margin-left: 30px;
}
.todo-input {
width: 60%;
height: 50px;
border: 1px solid #ccc;
border-radius: 5px005px;
padding-left: 15px;
outline: none;
}
.add-todo {
width: 100px;
height: 50px;
background: linear-gradient(to right, rgb(123, 67, 151), rgb(66, 103, 178));
color: #ffffff;
border-radius: 05px5px0;
text-align: center;
line-height: 50px;
cursor: pointer;
user-select: none;
}
- •
display: flex
:使输入框和按钮横向排列。 - •
border-radius: 5px 0 0 5px
:输入框左侧圆角。 - •
cursor: pointer
:按钮悬停时显示手指图标。
5. 待办事项列表
添加三个待办事项,每个包含复选框、任务名称和删除按钮:
<div class="item done">
<input type="checkbox" checked>
<span class="name">吃饭</span>
<span class="del">删除</span>
</div>
<div class="item">
<input type="checkbox">
<span class="name">学习</span>
<span class="del">删除</span>
</div>
<div class="item">
<input type="checkbox">
<span class="name">运动</span>
<span class="del">删除</span>
</div>
CSS样式:
.item {
display: flex;
align-items: center;
margin: 20px30px;
box-shadow: 02px4pxrgba(0, 0, 0, 0.1);
}
.name {
flex: 1;
margin-left: 10px;
}
.del {
color: red;
cursor: pointer;
}
.done {
text-decoration: line-through;
opacity: 0.4;
}
- •
align-items: center
:垂直居中。 - •
text-decoration: line-through
:完成任务显示删除线。
6. 完整代码
以下是完整的 index.html
:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>XXX的To-Do App</title>
<style>
body {
background: linear-gradient(to right, rgb(123, 67, 151), rgb(66, 103, 178));
}
.todo-app {
width: 98%;
height: 500px;
background: #ffffff;
border-radius: 5px;
margin-top: 40px;
margin-left: 1%;
box-sizing: border-box;
}
.title {
font-size: 30px;
font-weight: 700;
text-align: center;
padding-top: 30px;
}
.todo-form {
display: flex;
margin-top: 20px;
margin-left: 30px;
}
.todo-input {
width: 60%;
height: 50px;
border: 1px solid #ccc;
border-radius: 5px005px;
padding-left: 15px;
outline: none;
}
.add-todo {
width: 100px;
height: 50px;
background: linear-gradient(to right, rgb(123, 67, 151), rgb(66, 103, 178));
color: #ffffff;
border-radius: 05px5px0;
text-align: center;
line-height: 50px;
cursor: pointer;
user-select: none;
}
.item {
display: flex;
align-items: center;
margin: 20px30px;
box-shadow: 02px4pxrgba(0, 0, 0, 0.1);
}
.name {
flex: 1;
margin-left: 10px;
}
.del {
color: red;
cursor: pointer;
}
.done {
text-decoration: line-through;
opacity: 0.4;
}
</style>
</head>
<body>
<div class="todo-app">
<div class="title">XXX的To-Do App</div>
<div class="todo-form">
<input class="todo-input" placeholder="Add To-Do">
<div class="add-todo">Add To-Do</div>
</div>
<div class="item done">
<input type="checkbox" checked>
<span class="name">吃饭</span>
<span class="del">删除</span>
</div>
<div class="item">
<input type="checkbox">
<span class="name">学习</span>
<span class="del">删除</span>
</div>
<div class="item">
<input type="checkbox">
<span class="name">运动</span>
<span class="del">删除</span>
</div>
</div>
</body>
</html>
保存并在浏览器中打开,你将看到一个完整的待办事项页面!
进阶技巧与调试
- 1. 检查元素:右键页面,选择“检查”或按
F12
,查看HTML结构和CSS样式,快速调试颜色、尺寸等。 - 2. AI辅助:遇到不会的CSS属性或效果,直接问AI。例如:“如何实现圆角?”AI会提供代码和示例。
- 3. Flex布局:本项目大量使用了
display: flex
,它是现代CSS布局的核心,推荐查阅W3School或MDN深入学习。 - 4. 代码托管:想分享你的项目?可以使用对象存储服务(如阿里云OSS)。上传
index.html
,获取公开链接即可分享。
总结与展望
通过本教程,你学会了:
目前我们的页面是静态的,接下来可以学习 JavaScript,为页面添加交互功能,比如:
学习建议:
- • 查阅资料:W3School、MDN等网站是学习HTML/CSS的好资源。
- • 保持好奇:遇到问题多问AI或查文档,实践是最好的老师!
(完)
阅读原文:原文链接
该文章在 2025/8/4 18:04:09 编辑过