一句话:HTML 搭骨架,CSS 管表现——先把语义和盒模型搞对,再谈动画和框架。
写在前面
本文合并整理原「HTML/CSS 必备知识」与「命名和书写习惯」两篇笔记,按现代入门结构重写(废弃 font 标签式写法,保留实用考点)。
一、HTML 语义结构
常用标签
| 标签 | 用途 |
|---|---|
h1–h6 |
标题层级;每页通常一个 h1(SEO) |
p |
段落 |
ul/ol/li |
列表;ul 下直接子元素建议仅 li |
dl/dt/dd |
术语列表 |
a |
链接;href、target="_blank" 加 rel="noopener" |
img |
src、alt(必填,SEO+无障碍)、width/height 防 CLS |
div |
无语义容器,布局用 |
span |
行内无语义包裹 |
strong/em |
强调(优于 b/i) |
header/main/footer/nav/section/article |
语义化布局(HTML5) |
路径
| 写法 | 含义 |
|---|---|
./img/a.png |
当前目录 |
../img/a.png |
上一级 |
/static/a.png |
站点根路径 |
二、CSS 如何生效
三种写法
- 行内
style=""— 优先级高、难维护(JS 改样式时除外) - 内部
<style>— 单页小 demo - 外部
<link rel="stylesheet">— 生产推荐
选择器与优先级
权重大致:!important > 行内 > #id > .class > 标签。
同一级:后写的覆盖先写的(层叠)。
盒模型
content + padding + border + margin
box-sizing: border-box 让 width 含 padding/border(布局更直觉)。
三、布局入门
Flex(一维)
css
.container {
display: flex;
justify-content: center; /* 主轴 */
align-items: center; /* 交叉轴 */
gap: 1rem;
}
常见需求
| 需求 | 思路 |
|---|---|
| 水平垂直居中 | Flex 或 Grid place-items: center |
| 两栏自适应 | Flex flex: 1 或 Grid 1fr 1fr |
| 固定头尾 | sticky / Grid 三行 |
四、命名与书写规范(原 29 篇精华)
命名原则
- 小写英文,短横线连接:
search-box,不用_混用 - 语义化:
nav、sidebar、btn-primary - 避免
div1、red当类名(颜色用text-primary等设计 token)
页面结构 id/class 参考
| 区域 | 推荐 |
|---|---|
| 页头 | header / .site-header |
| 导航 | nav / .main-nav |
| 主体 | main / .content |
| 侧栏 | aside / .sidebar |
| 页脚 | footer |
BEM 简版
html
<div class="card card--featured">
<h3 class="card__title">标题</h3>
</div>
块 card、元素 __title、修饰符 --featured。
属性书写顺序(建议)
显示 → 定位 → 盒模型 → 字体文本 → 视觉(颜色/背景)→ 动画。
五、图片与媒体
| 格式 | 特点 |
|---|---|
| PNG | 透明、体积大 |
| JPEG | 照片、无透明 |
| WebP/AVIF | 现代站优先 |
| SVG | 图标、矢量 |
响应式:max-width: 100%;本博客封面比 3:2。
踩坑
- 用
br撑间距 → 改 margin/padding - 滥用
!important→ 难覆盖 - 全站
h1多个 → SEO 降权 - 不写
alt→ 无障碍与 SEO 受损
小结
- HTML 先语义标签,再 div 补位
- CSS 掌握盒模型 + Flex + 层叠规则
- 命名跟 BEM/团队规范,便于与 Vue/Tailwind 协作
原独立文章 html和css命名和书写习惯 已合并入本篇。


全部评论(0)