1
2
3
4
5
6
7

响应式导航

发布时间:2019-03-02 21:46   发布人:侯素玲   浏览次数:773


学习任务

学习制作响应式导航

1.pc端效果

image.png

    2.移动端效果

image.png

学习目标

    1.掌握媒体查询语法、断点分类,分清min-width(移动优先) 与max-width(桌面优先) 区别

    2.熟记 768px(平板)、1024px(桌面)行业通用断点

    3.理解移动优先开发思想,对比移动优先 / 桌面优先优缺点


网页制作步骤

1

HTML 搭建导航 汉堡标签
2移动端默认 CSS(汉堡显示、导航 absolute 隐藏)
3@media(min-width:768px)大屏样式(汉堡隐藏、导航横向 flex
4用户体验优化:汉堡按钮伪元素扩大点击区域(::before)
5 JS 简单交互:点击切换show类名控制菜单显隐

关键要点

1.应该设置多少个断点?

通常设置pad端768px,pc端1024px。

2.min-width和max-width如何选择?

移动优先用min-width,

@media (min-width: 768px) {.head-container {

max-width: 1200px;  /* 添加版心限制 */

margin: 0 auto;

}

/* 隐藏汉堡按钮 */

.toggle-btn {

display: none;

}

}

@media (min-width: 1024px) {

.nav-menu ul {

gap: 40px;

/* 桌面端可以稍微增加间距 */

}

.nav-menu a {

font-size: 18px;

position: relative;

}

}

3.媒体查询的顺序重要吗?

是的,CSS层叠规则适用,建议统一使用min-width并从小到大排列

4.为什么要 “移动优先” 而不是 “桌面优先”?

(1) 迫使功能去冗余

手机屏幕空间极其有限,这迫使产品经理和设计师必须在方寸之间做取舍。如果采用“桌面优先”,往往会因为屏幕大而堆砌大量次要功能;而“移动优先”要求你必须先搞清楚:用户打开这个应用最想干的那件事是什么。

(2) 适配流量重心与搜索算法

目前全球超过 65% 的流量来自移动端。包括 Google 在内的搜索引擎早已采用“移动优先索引”,这意味着如果你的移动端体验差,即便桌面端做得再美,搜索排名也会被严重拉低。

(3) 渐进增强(Progressive Enhancement)

从技术实现上看,从简单的移动端布局向复杂的桌面端扩展(加功能、分栏),逻辑上属于“向上兼容”,结构更稳固;反之,从复杂的桌面端向移动端强行压缩(优雅降级),往往会导致代码臃肿和体验割裂。

5.移动端导航用 position: absolute,桌面端改成 static,为什么要做这个调整?

这种调整的核心逻辑是处理元素与文档流的关系。

(1)移动端使用 absolute:实现“悬浮抽屉”

移动端导航(如汉堡菜单)通常需要覆盖在内容之上,或者以抽屉形式弹出。absolute 能让导航脱离文档流,不占用页面实际空间,从而自由地叠加在现有内容(图片、文字)顶部,且不影响下方布局的稳定性。

(2) 桌面端改成 static:回归“自然占位”

桌面端导航通常是固定在顶部的长条。使用 static 是为了让导航回归标准文档流。这样它就能实实在在地占据页面顶部的空间,自动把下方的 Banner 或正文内容“顶”下去,避免内容被导航栏遮挡。