如何在移动端实现固定头部和页脚的页面布局?

那天我在地铁上浏览消息应用程序时,突然发现固定在顶部的导航栏特别稳定。
无论我如何移动文章内容,导航栏始终固定在顶部。
我想知道如何才能实现这一目标。
后来我花时间去挖了源码,嘿嘿,果然是Flexbox的作品。

看,这个布局的核心包括三个步骤: 1 、将整个页面视为一个垂直的flex容器,并应用display:flex;弯曲方向:列;正文文本上,以便页眉、内容和页脚可以从上到下排列。
2 、页眉和页脚都使用position:sticky;顶部:0;底部:0;并使用 z-index:1 0 来防止它们被内容区域中出现的元素遮挡。
特别有趣的是,当头部最初未固定时,它看起来像一个粘性贴纸,在锁定到位之前会滑入到位 - 这里的“粘”比“固定”更聪明。
3 、输入flex:1 ;进入内容区域并自动填充所有剩余空间。
无论手机屏幕是iPhone 1 3 还是Pixel 6 ,内容区域的高度始终是可调的。

后来我尝试使用绝对定位并手动计算高度计算(1 00vh
1 00px)。
这导致华为 P4 0 上的滚动条闪烁两次。
这让我想起了我在旧项目中使用双翼布局的日子。
写完浮动+负边距后,我仍然不得不使用兼容性技巧。
现在想想真是一种折磨。

等等,还有一件事:在 Safari 中测试时,我注意到当页眉和页脚的组合高度超过视口高度的 1 .5 倍时,Sticky 的行为异常。
此时需要添加一个hack,使用@supports(position:sticky)判断浏览器是否支持,如果不支持则返回position:fixed。

突然发现现在很多小程序框架都默认使用Flexbox布局,或许是因为这种组合特别好用。
但为什么Android厂商在定制界面时仍然使用老式的绝对定位呢?

HTML语义标签Footer怎么用_HTML页面底部信息Footer标签

哎呀,说到
HTML 标签,这是网页设计中的一个小细节,但作用却很大。
我记得当我刚进入这个行业时,网页设计并不像现在这样语义化。
那时,我只是使用
来制作页脚。
现在我觉得很乱。

说到基本用法,很简单。
例如,如果您想在页面底部放置页脚,只需使用
标签将版权、联系信息和其他信息直接包裹在 HTML 文档的底部即可。
像这样:
<页脚>

©2 02 4 我的页面。
版权所有。

联系我们

</页脚>
再例如,如果您想在文章或章节的末尾添加页脚,则在该文章或章节的标签内放置
标签。
像这样:

文章标题

这就是文章的内容...

<页脚>

发布于 2 02 4 年 4 月 5 日

</页脚> </文章>
其次,常见的内容类型有很多。
例如,版权信息使用版权符号 (©) 加年份,例如 ©2 02 4 还有作者或公司的名称,并且应该清楚内容来自哪个网站或公司。
另一个例子是政策链接,它放置一个指向法律声明页面的链接,例如隐私政策和服务条款。
还有社交媒体链接,应在社交平台上放置图标或文本链接。
还有导航链接,例如站点地图、返回顶部按钮等。

3 说到样式,当我刚开始创建网站时,我总是直接在 HTML 中编写 CSS 样式。
现在看来,这是一件很麻烦的事情。
现在流行用CSS来控制样式,比如调整背景颜色、边框、边框等,让其看起来更专业。

4 说到语义和可访问性的优势,这是目前网页设计的一大趋势。
有了清晰的代码,搜索引擎可以更好地理解你的网页结构,这有利于搜索引擎优化。
而屏幕阅读器等辅助设备也可以更好地分析页尾信息,这对于需要辅助设备的用户来说是个好消息。

5 注意事项,不能马虎。
例如,不要滥用
标记。
它是作为结尾使用的,所以不要乱用。
内容也应该与父站点相关,所以不要随意放置。
响应式设计也必须继续下去。
现在手机这么普及,裙子在手机上看起来也应该很舒服。

总之,正确使用
标签可以让你的网站看起来更专业,提供更好的用户体验,符合现代网页发展趋势。
说实话,当时我并不明白这个标签的作用,但现在看来确实很有用。