Web知识篇

什么是HTML与CSS

网页的骨架和皮肤

如果把网页比作一栋房子,HTML 是钢筋混凝土的结构,CSS 是装修和外观设计。两者配合,才能呈现出你看到的网页。

💡 类比:HTML 决定"这里放一个标题、那里放一张图片",CSS 决定"标题用红色、图片加圆角阴影"。

加载图表中...

HTML:超文本标记语言

HTML(HyperText Markup Language)标签来描述页面内容的结构。

基本语法

<标签名>内容</标签名>

标签通常成对出现:开始标签 + 内容 + 结束标签

一个最简单的HTML页面

<!DOCTYPE html>
<html>
<head>
  <title>我的第一个网页</title>
</head>
<body>
  <h1>欢迎来到我的网站</h1>
  <p>这是一个段落。</p>
  <img src="photo.jpg" alt="一张照片">
  <a href="https://example.com">点我跳转</a>
</body>
</html>

常用HTML标签

标签作用示例
<h1> ~ <h6>标题(1最大,6最小)<h1>大标题</h1>
<p>段落<p>一段文字</p>
<a>链接<a href="url">链接文字</a>
<img>图片<img src="图片地址" alt="描述">
<div>容器/分区<div>一组内容</div>
<button>按钮<button>点我</button>
<input>输入框<input type="text" placeholder="请输入">
<ul> / <li>无序列表<ul><li>项目1</li></ul>

HTML的层级结构

HTML 标签是嵌套的,形成一棵树:

加载图表中...

CSS:层叠样式表

CSS(Cascading Style Sheets) 用来给 HTML 元素添加视觉样式

基本语法

选择器 {
  属性: 值;
  属性: 值;
}

示例:给标题加样式

h1 {
  color: #F97316;           /* 文字颜色:橙色 */
  font-size: 32px;          /* 字体大小 */
  text-align: center;       /* 居中对齐 */
  margin-bottom: 20px;      /* 下方外边距 */
}

常用CSS属性

属性作用示例值
color文字颜色#F97316redrgb(255,0,0)
background-color背景色#0F2829
font-size字体大小16px1.5rem
margin外边距20px10px 20px
padding内边距16px
border边框1px solid #ccc
border-radius圆角8px50%(圆形)
display显示方式flexgridblock
width / height宽高100%200px

CSS选择器

/* 标签选择器 — 选中所有 p 标签 */
p { color: gray; }

/* 类选择器 — 选中 class="highlight" 的元素 */
.highlight { background-color: yellow; }

/* ID选择器 — 选中 id="title" 的元素 */
#title { font-size: 24px; }

/* 组合选择器 — div 里面的 p */
div p { margin: 10px; }
加载图表中...

盒模型:CSS布局的基础

每个 HTML 元素都是一个"盒子",由四层组成:

加载图表中...
.card {
  margin: 20px;      /* 外边距:盒子与其他元素的距离 */
  border: 1px solid #ccc;  /* 边框 */
  padding: 16px;     /* 内边距:内容与边框的距离 */
  width: 300px;      /* 内容区宽度 */
}

Flexbox:现代布局利器

Flexbox 是最常用的CSS布局方式,轻松实现水平/垂直排列:

.container {
  display: flex;              /* 启用 Flex 布局 */
  justify-content: center;    /* 水平居中 */
  align-items: center;        /* 垂直居中 */
  gap: 16px;                  /* 元素间距 */
}
加载图表中...
Flex属性作用常用值
justify-content主轴对齐(水平)centerspace-between
align-items交叉轴对齐(垂直)centerflex-start
flex-direction排列方向row(横)、column(竖)
gap元素间距16px1rem
flex-wrap是否换行wrapnowrap

响应式设计

让网页在手机、平板、电脑上都好看:

/* 默认样式(手机优先) */
.container {
  padding: 16px;
  flex-direction: column;
}

/* 平板以上(768px+) */
@media (min-width: 768px) {
  .container {
    padding: 32px;
    flex-direction: row;
  }
}

/* 电脑(1024px+) */
@media (min-width: 1024px) {
  .container {
    max-width: 1200px;
    margin: 0 auto;
  }
}

Tailwind CSS:不用写CSS文件

现代前端项目(如 Next.js)常用 Tailwind CSS,直接在 HTML 的 class 中写样式:

<!-- 传统CSS方式 -->
<div class="card">
  <h2 class="card-title">标题</h2>
</div>

<!-- Tailwind CSS 方式 -->
<div class="rounded-lg border p-4 shadow-md">
  <h2 class="text-xl font-bold text-orange-500">标题</h2>
</div>
Tailwind 类名等价CSS效果
text-xlfont-size: 1.25rem大号文字
font-boldfont-weight: 700粗体
p-4padding: 1rem内边距
rounded-lgborder-radius: 0.5rem圆角
flexdisplay: flexFlex布局
bg-orange-500background-color: #F97316橙色背景

🎯 AI编程小贴士:不知道怎么用CSS实现某个效果?直接告诉AI"帮我实现一个卡片布局,有阴影和圆角"或者"把这个按钮改成渐变色",它会帮你写出完整的CSS或Tailwind代码。

小结

  • HTML 定义网页的结构(有什么内容)
  • CSS 定义网页的样式(长什么样)
  • HTML 用标签描述内容,CSS 用选择器 + 属性控制外观
  • 盒模型是CSS布局的基础:content → padding → border → margin
  • Flexbox 是最常用的布局方式
  • Tailwind CSS 让你不用写CSS文件,直接在class中写样式