自适应 词条目录
前端Wiki/自适应/基础/认识自适应

什么是自适应

自适应(Adaptive)指网页能够根据浏览器窗口大小、设备屏幕尺寸自动调整布局与元素大小,让内容在不同设备上都清晰可读、易于操作。它不是某个单一 CSS 属性,而是一整套做法的组合:相对单位、流式布局、媒体查询、弹性图片。

在没有自适应的年代,网页按固定宽度(如 960px)设计:宽屏显示器两侧留着大片空白,手机上则要左右拖动才能看清。自适应的思路是“内容像水一样倒进不同容器”:宽度用百分比、字号用 rem、图片按比例缩放,再配合媒体查询在不同宽度下切换布局。

  • 自适应解决的是“同一套代码,多种屏幕”的问题
  • 核心三件套:相对单位 + 流式布局 + 媒体查询
  • 移动设备早已超过桌面设备成为主要访问终端,自适应从加分项变成了必选项
HTML
<!-- 一个最小可复制的自适应骨架:宽度限幅 + 居中 + 媒体查询 -->
<!DOCTYPE html>
<html lang="zh-CN">
<head>
<meta charset="UTF-8">
<!-- 自适应的起点:声明视口,否则手机会按 980px 宽度缩放页面 -->
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>自适应示例</title>
<style>
  body { margin: 0; font-family: "Microsoft YaHei", sans-serif; }
  /* 容器:宽度随视口变化,但不会无限拉宽 */
  .wrap { width: min(92%, 960px); margin: 0 auto; }
  /* 卡片用百分比宽度,窄屏自动变窄 */
  .card { box-sizing: border-box; width: 48%; padding: 16px; border: 1px solid #ddd; border-radius: 8px; }
  /* 窄屏时卡片改为整行 */
  @media (max-width: 600px) { .card { width: 100%; } }
</style>
</head>
<body>
  <div class="wrap">
    <h1>自适应页面</h1>
    <div class="card">卡片 A:在桌面占一半宽度。</div>
    <div class="card">卡片 B:在手机上占满整行。</div>
  </div>
</body>
</html>
本节要点自适应 = 相对单位 + 流式布局 + 媒体查询;手机页面必须写 viewport meta,否则字小到无法阅读。
🔗 相关词条HTMLCSSCSS3媒体查询