广州总部电话:020-85564311
20年
互联网应用服务商
广州总部电话:020-85564311
20年
互联网应用服务商
请输入搜索关键词
知识库 知识库

优网知识库

探索行业前沿,共享知识宝库

响应式设计——一套代码适配手机、平板、电脑

发布日期:2026-05-16 16:39:27 浏览次数: 811 来源:高校计算机应用基础
推荐语
前端开发必备!掌握响应式设计,一套代码适配所有设备,提升开发效率与用户体验。

核心内容:
1. 响应式设计概念与核心思路
2. 视口设置与媒体查询的实战用法
3. 移动优先原则与常用单位解析
小优 网站建设顾问
专业来源于二十年的积累,用心让我们做到更好!

一、什么是响应式设计?

同一套 HTML 和 CSS,在不同宽度的设备上呈现不同的排列方式。

  • 电脑(1200px+):三栏布局,导航横排
  • 平板(768px ~ 1200px):两栏布局
  • 手机(< 768px):单栏堆叠

响应式的核心思路:样式去适应屏幕,而不是为每个屏幕写一套 HTML。


二、第一步:设置视口(Viewport)

这是很多人忽视但必须写的一行,不写视口,移动端页面会被压缩得很小。

<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>我的响应式页面</title>
</head>

讲解:

  • width=device-width:视口宽度等于设备宽度
  • initial-scale=1.0:初始缩放比例为 1,不放大也不缩小

三、媒体查询(@media)——CSS的条件执行

媒体查询的语法像 if 语句:如果"满足这个条件",就执行里面的样式

/* 基础样式:所有屏幕都生效 */
.container {
width100%;
padding20px;
}

/* 当屏幕宽度 >= 768px 时生效 */
@media (min-width768px) {
.container {
    width720px;
    margin0 auto;
    padding40px;
  }
}

/* 当屏幕宽度 >= 1200px 时生效 */
@media (min-width1200px) {
.container {
    width1160px;
    padding60px;
  }
}

讲解:

  • @media (min-width: 768px) 意思是"当视口宽度至少 768px 时"
  • 断点通常设在 768px(手机→平板)和 1200px(平板→电脑)

四、移动优先 vs 桌面优先

写响应式 CSS 有两种思路,推荐移动优先

/* === 默认:手机(最基础样式) === */
.sidebar { display: none; }
.main-content { width100%; }

/* === 平板及以上:显示侧边栏 === */
@media (min-width768px) {
.sidebar { display: block; width200px; }
.main-content { widthcalc(100% - 200px); }
}

/* === 电脑及以上:侧边栏加宽 === */
@media (min-width1200px) {
.sidebar { width280px; }
}

推荐移动优先的原因: 移动端限制更多(屏幕小、网络慢),先照顾移动端,再给大屏"锦上添花"。


五、实战:响应式卡片网格

<div class="card-grid">
  <div class="card"><h3>卡片1</h3><p>描述文字</p></div>
  <div class="card"><h3>卡片2</h3><p>描述文字</p></div>
  <div class="card"><h3>卡片3</h3><p>描述文字</p></div>
  <div class="card"><h3>卡片4</h3><p>描述文字</p></div>
</div>
/* === 基础样式(手机) === */
.card-grid {
display: grid;
grid-template-columns1fr;    /* 手机单列 */
gap16px;
padding16px;
}

/* === 平板(>= 768px):两列 === */
@media (min-width768px) {
.card-grid {
    grid-template-columnsrepeat(21fr);
    padding24px;
    gap20px;
  }
}

/* === 电脑(>= 1200px):三列 === */
@media (min-width1200px) {
.card-grid {
    grid-template-columnsrepeat(31fr);
    padding32px;
    gap24px;
  }
}

HTML 一个字没改,全是 CSS 媒体查询在起作用。


六、常用响应式单位

rem——相对于根元素的字体大小

html { font-size16px; }

.title { font-size2rem; }   /* 2rem = 32px */

@media (max-width767px) {
  html { font-size14px; }  /* 手机上整体缩小基准字号 */
}

讲解:rem 相对于 <html> 的字体大小。如果全局改了基准字号,所有用 rem 的地方都会自动跟着变。


em——相对于当前元素的字体大小

.parent { font-size16px; }
.child { font-size2em; }   /* 相对于 parent,2em = 32px */

vw / vh——视口的宽高

.hero {
  height100vh;           /* 视口高度 */
  background-color#2c3e50;
  display: flex;
  align-items: center;
  justify-content: center;
}

.title { font-size5vw; }  /* 字体大小是视口宽度的5%,自动缩放 */

讲解:

  • 100vh = 整个视口高度,常用于首屏大图/Hero区域
  • vw = Viewport Width,5vw 表示视口宽度的 5%

七、实战:响应式导航栏

<nav class="navbar">
  <div class="logo">MySite</div>
  <button class="menu-toggle"></button>
  <ul class="nav-links">
    <li><a href="#">首页</a></li>
    <li><a href="#">课程</a></li>
    <li><a href="#">关于</a></li>
    <li><a href="#" class="btn-nav">登录</a></li>
  </ul>
</nav>
* { margin0padding0box-sizing: border-box; }

.navbar {
display: flex;
justify-content: space-between;
align-items: center;
padding16px20px;
background-color#2c3e50;
}

.nav-links {
display: none;
position: absolute;
top60px;
left0;
right0;
background-color#34495e;
flex-direction: column;
padding20px;
gap16px;
}

.menu-toggle {
display: block;
background: none;
border: none;
color: white;
font-size24px;
cursor: pointer;
}

@media (min-width768px) {
.menu-toggle { display: none; }

.nav-links {
    display: flex;
    position: static;
    flex-direction: row;
    background: none;
    padding0;
    gap24px;
  }

.nav-linksa { color#bdc3c7text-decoration: none; font-size15px; }
.btn-nav { padding6px16pxbackground-color#3498dbborder-radius4pxcolor: white; }
}


优网科技,优秀企业首选的互联网供应服务商

优网科技秉承"专业团队、品质服务" 的经营理念,诚信务实的服务了近万家客户,成为众多世界500强、集团和上市公司的长期合作伙伴!

优网科技成立于2001年,擅长网站建设、网站与各类业务系统深度整合,致力于提供完善的企业互联网解决方案。优网科技提供PC端网站建设(品牌展示型、官方门户型、营销商务型、电子商务型、信息门户型、微信小程序定制开发、移动端应用(手机站APP开发)、微信定制开发(微信官网、微信商城、企业微信)等一系列互联网应用服务。


我要投稿

姓名

文章链接

提交即表示你已阅读并同意《个人信息保护声明》

专属顾问 专属顾问
扫码咨询您的优网专属顾问!
专属顾问
马上咨询
联系专属顾问
联系专属顾问
联系专属顾问
和我们在线交谈!