🧩 HTML 编写注意事项 · CSS 使用说明

一份面向现代前端开发的简明指南,涵盖语义、可访问性、性能、布局与最佳实践。

📄 HTML 编写注意事项

1. 语义化 HTML 核心

使用正确的标签表达内容结构,而非滥用 <div><span>

<!-- ❌ 不推荐 --> <div class="header"><div class="nav">...</div></div> <div class="main"><div class="article">...</div></div> <!-- ✅ 推荐 --> <header> <nav>...</nav> </header> <main> <article>...</article> </main>

2. 文档结构与 Meta 信息

3. 可访问性 (A11y) 重要

4. 性能与加载优化

5. 表单与交互

6. 其他常见规范


🎨 CSS 使用说明

1. 基本语法与引入方式

/* 选择器 { 属性: 值; } */ h1 { color: #2563eb; font-size: 2rem; }

2. 选择器与优先级

常用选择器

  • 元素div, p
  • .class
  • ID#id(尽量少用)
  • 属性[type="text"]
  • 伪类:hover, :nth-child()
  • 伪元素::before, ::after
  • 组合ul > li, .card .title

优先级 (从高到低)

  • !important(谨慎使用)
  • 内联样式 (style 属性)
  • ID 选择器 (#id)
  • 类、属性、伪类 (.class, [attr], :hover)
  • 元素、伪元素 (div, ::before)

💡 尽量使用类选择器,保持低特异性,便于覆盖。

3. 盒模型 基础

💡 核心建议: 全局设置 box-sizing: border-box; 让宽高包含 padding 和 border,更符合直觉。
/* 重置盒模型 */ *, *::before, *::after { box-sizing: border-box; }

4. 布局:Flexbox

一维布局模型,适合导航、卡片排列、居中、间距分配等。

.container { display: flex; flex-direction: row; /* row | column */ justify-content: center; /* 主轴对齐 */ align-items: center; /* 交叉轴对齐 */ gap: 1rem; /* 间距 (推荐) */ flex-wrap: wrap; /* 换行 */ }

5. 布局:CSS Grid

二维布局模型,适合页面整体结构、复杂网格、画廊等。

.grid { display: grid; grid-template-columns: repeat(3, 1fr); /* 3列等宽 */ grid-template-rows: auto 200px; gap: 1.5rem; grid-auto-rows: minmax(120px, auto); }

6. 响应式设计 必备

/* 移动优先:基础样式 */ .card { padding: 1rem; } /* 平板 */ @media (min-width: 768px) { .card { padding: 2rem; } } /* 桌面 */ @media (min-width: 1024px) { .card { padding: 3rem; } }

7. 常用技巧与性能优化

📌 开发者工具: Chrome DevTools 的 Elements 面板可实时调试样式,Performance 面板分析重绘/回流,Lighthouse 可检测可访问性与性能问题。

8. CSS 与 HTML 协作要点


📋 速查表

分类 推荐做法 避免
HTML 结构 语义化标签、清晰的 heading 层级 滥用 div/span、跳级使用 h1~h6
可访问性 alt、label、aria-*、键盘可操作 纯图片无文字、无焦点样式、缺少表单关联
CSS 组织 BEM 命名、CSS 变量、组件化 深嵌套(> 3层)、!important 滥用
布局 Flexbox / Grid、相对单位、gap float 布局、table 布局(非表格数据)
响应式 移动优先、clamp()、媒体查询断点 固定 px 宽度、忽略触摸目标大小
性能 图片懒加载、CSS/JS 压缩、减少请求 大尺寸未压缩图片、过多 @import

⚡ 持续迭代 · 保持学习 · 实践出真知