HTML/CSS 学习与实战
一、核心能力目标
- 写出语义化、可维护的 HTML 结构。
- 熟练掌握 Flex、Grid、定位、响应式布局。
- 解决跨端样式问题并兼顾可访问性。
- 能基于设计稿高质量还原页面。
二、HTML 必备知识
1. 语义化标签
常用:header、main、section、article、aside、footer、nav。
收益:
- SEO 更友好。
- 屏幕阅读器更易理解。
- 结构清晰,维护成本低。
2. 表单与可访问性
label必须与输入框关联。- 图片要有
alt。 - 可点击元素优先使用
button/a,不要全靠div。 - 保证键盘可操作(Tab 顺序、焦点可见)。
3. SEO 基础
- 合理使用
title、meta description。 - 页面仅保留一个
h1。 - 重要信息不要全部放在图片里。
三、CSS 必备知识
1. 盒模型与选择器
box-sizing: border-box作为全局默认。- 了解层叠顺序:
!important、内联样式、选择器优先级、源码顺序。
2. 布局系统
Flex(组件内布局)
css
.toolbar {
display: flex;
align-items: center;
justify-content: space-between;
gap: 12px;
}Grid(页面级网格)
css
.dashboard {
display: grid;
grid-template-columns: repeat(12, 1fr);
gap: 16px;
}
.card {
grid-column: span 4;
}3. 响应式设计
- 优先移动端优先(Mobile First)。
- 使用
min-width媒体查询逐级增强。 - 文本、容器、图片都要可收缩。
css
.container {
width: min(1200px, 100% - 32px);
margin: 0 auto;
}4. 常见样式体系
- BEM 命名:
block__element--modifier。 - CSS Modules:避免样式污染。
- 原子化 CSS(如 Tailwind):提高开发效率。
5. 动画与过渡
- 小交互优先
transition。 - 复杂动画用
transform/opacity,避免频繁触发布局。
四、常见问题与解法
margin塌陷:使用padding、border或建立 BFC。- 文字溢出:
overflow: hidden; text-overflow: ellipsis; white-space: nowrap;。 - 多行省略:
-webkit-line-clamp+display: -webkit-box。 z-index不生效:确认是否建立层叠上下文。
五、实战清单
- 登录页(表单校验、状态反馈、按钮 loading)。
- 后台列表页(筛选、分页、固定表头、空状态)。
- 官网落地页(响应式、动效、SEO 基础)。
- 主题切换(CSS 变量 +
data-theme)。
六、面试高频
- 说一下 BFC 及其应用场景。
- Flex 和 Grid 各适用于什么场景。
- 如何做移动端适配。
- 如何提升首屏渲染体验。
七、进阶方向
- CSS 架构设计(设计令牌、主题体系)。
- 动画系统化(关键帧、状态机、可中断动画)。
- 可访问性审计(对比度、焦点流、读屏体验)。