HTML不负责美化,CSS通过外链或style标签控制样式;应多用class而非id;禁用过时标签和内联样式;用rem+clamp()实现响应式;伪类和媒体查询需真实设备测试;字体加载需font-display: swap。

HTML 页面本身不负责美化,真正起作用的是 CSS。直接在 里写样式或外链 style.css 才能控制颜色、间距、布局和交互效果。
用 class 而不是 id 控制可复用样式
多数页面元素(按钮、卡片、标题)需要多次出现,class 支持重复使用,id 只应留给唯一锚点或 JS 操作目标。滥用 id 会导致 CSS 难以维护、优先级过高、响应式调整困难。
-
class="btn btn-primary"比id="submit-btn"更适合通用按钮样式 - 避免写
#header h1 { color: #222; }—— 这类强耦合选择器会让改结构时样式集体失效 - 用 BEM 命名(如
card__title、nav--vertical)能减少样式冲突
别靠 、 或内联 美化
这些是 HTML 4 时代的遗留写法,现代浏览器虽仍支持,但会破坏语义、阻碍响应式、无法被缓存,且与 JS 动态控制样式逻辑割裂。
- 删掉所有
,用text-align: center或margin: 0 auto替代 - 禁用
,统一由 CSS 的color和font-family控制 - 内联样式(如
)无法复用,调试时也看不到来源文件和行号
用 rem + clamp() 实现真正响应式字体与间距
固定像素(px)在不同设备上缩放僵硬;em 容易嵌套失控;而 rem 基于根字体大小,配合 clamp(min, preferred, max) 可让文字在小屏不挤、大屏不虚。
立即学习“前端免费学习笔记(深入)”;
html {
font-size: clamp(14px, 2.5vw, 18px);
}
h1 {
font-size: clamp(1.5rem, 4vw, 2.5rem);
margin-bottom: clamp(0.5rem, 2.5vw, 1.25rem);
}
-
clamp()第二个参数(preferred)建议用视口单位(vw),让它随屏幕宽度平滑变化 - 根字号设为
clamp()后,所有rem值自动响应,无需媒体查询重复写 - 注意 Safari 11.1+ 才完全支持
clamp(),旧版本需 fallback 到font-size: 1.5rem
伪类和 @media 必须配真实交互与断点测试
只写 :hover 却没考虑触摸设备,或只在桌面端测 @media (max-width: 768px) 却忽略折叠屏、iPad Pro 的 2048px 宽度,都会导致上线后体验断裂。
-
:hover样式必须搭配:focus(键盘用户)和:active(点击反馈),例如按钮要同时有三者 - 移动端断点别死守 768px/1024px,用
@media (min-width: 320px)和@media (min-width: 1200px)更稳妥 - 用 Chrome DevTools 的「Toggle device toolbar」选真实机型(如 iPhone 14 Pro、Pixel 7),而非仅模拟分辨率
最常被跳过的其实是字体加载策略:用 @font-face 加载自定义字体时,不加 font-display: swap 会导致文本长时间空白;而过度依赖 Google Fonts 的 会拖慢首屏渲染。这些细节比“怎么让按钮变圆角”更影响实际体验。










