
本文详细阐述如何在bulma框架下实现固定在页面顶部和底部的导航栏与页脚,同时确保中间内容区域可独立滚动。通过利用bulma提供的`is-fixed-top`和`is-fixed-bottom`类,并配合`has-n*bar-fixed-top`和`has-n*bar-fixed-bottom`等辅助类,可以有效解决传统`hero`组件在内容过长时页脚被推出视口的问题,从而创建出具有良好用户体验的响应式布局。
在现代网页设计中,保持页面的导航栏(页眉)和页脚始终可见,同时允许主体内容区域独立滚动,是一种常见的用户体验需求。这确保了用户无论内容多长,都能方便地访问导航和版权信息。然而,在使用像Bulma这样的CSS框架时,如果不了解其特定机制,可能会遇到一些挑战,例如当内容区域过长时,页脚被推出视口的问题。
许多开发者尝试使用Bulma的hero组件配合is-fullheight类来构建全屏布局,并希望其子元素hero-head、hero-body和hero-footer能够实现固定页眉页脚和可滚动内容的效果。然而,hero组件的is-fullheight特性旨在使其占据整个视口高度,而hero-body会根据内容扩展。当hero-body的内容超出视口高度时,hero-footer就会被推到视口之外,导致其无法固定显示。
要解决这个问题,我们需要采用Bulma提供的固定定位(Fixed Positioning)机制,而不是依赖hero组件来管理整个页面的布局。
Bulma为导航栏提供了方便的固定定位类。通过将is-fixed-top类应用于n*bar组件,可以使其始终固定在视口顶部。
步骤:
添加固定导航栏类: 在你的
<n* class="n*bar is-fixed-top" role="n*igation" aria-label="main n*igation">
<div class="n*bar-brand">
<a class="n*bar-item" href="https://bulma.io">
@@##@@
</a>
<a role="button" class="n*bar-burger" aria-label="menu" aria-expanded="false" data-target="n*barBasicExample">
<span aria-hidden="true"></span>
<span aria-hidden="true"></span>
<span aria-hidden="true"></span>
</a>
</div>
<div id="n*barBasicExample" class="n*bar-menu">
<div class="n*bar-start">
<a class="n*bar-item">
Home
</a>
<a class="n*bar-item">
Documentation
</a>
</div>
<div class="n*bar-end">
<div class="n*bar-item">
<div class="buttons">
<a class="button is-primary">
<strong>Sign up</strong>
</a>
<a class="button is-light">
Log in
</a>
</div>
</div>
</div>
</div>
</n*>处理内容重叠问题: 当导航栏固定在顶部时,它会脱离文档流,导致其下方的页面内容向上移动并可能被导航栏遮挡。为了解决这个问题,Bulma提供了has-n*bar-fixed-top类,该类会给html>或
元素添加适当的顶部内边距(padding),以确保内容不会被遮挡。<html class="has-n*bar-fixed-top"> <!-- 或 <body class="has-n*bar-fixed-top"> --> <body> <!-- 你的固定导航栏 --> <n* class="n*bar is-fixed-top">...</n*> <!-- 页面主要内容 --> <section class="section"> <div class="container"> <h1 class="title">我的可滚动内容</h1> <!-- 大量内容以确保滚动 --> </div> </section> <!-- 你的固定页脚 --> <footer class="footer is-fixed-bottom">...</footer> </body> </html>
与固定页眉类似,Bulma也提供了is-fixed-bottom类来固定元素到视口底部。通常,我们会将一个footer元素(或一个样式为页脚的n*bar)固定在底部。
BlessAI
Bless AI 提供五个独特的功能:每日问候、庆祝问候、祝福、祷告和名言的文本生成和图片生成。
135
查看详情
步骤:
添加固定页脚类: 在你的
<footer class="footer is-fixed-bottom">
<div class="content has-text-centered">
<p>
<strong>Bulma Fixed Footer</strong> by <a href="https://jgthms.com">Jeremy Thomas</a>. The source code is licensed
<a href="http://opensource.org/licenses/mit-license.php">MIT</a>. The website content
is licensed <a href="http://creativecommons.org/licenses/by-nc-sa/4.0/">CC BY NC SA 4.0</a>.
</p>
</div>
</footer>处理内容重叠问题: 同样地,固定页脚也会脱离文档流。Bulma提供了has-n*bar-fixed-bottom类来为或
元素添加底部内边距,以防止主要内容被页脚遮挡。<html class="has-n*bar-fixed-top has-n*bar-fixed-bottom">
<!-- 或 <body class="has-n*bar-fixed-top has-n*bar-fixed-bottom"> -->
<body>
<!-- ... -->
</body>
</html>请注意,如果同时使用固定顶部导航栏和固定底部页脚,你需要同时添加has-n*bar-fixed-top和has-n*bar-fixed-bottom类。
通过上述步骤,你的导航栏和页脚将始终固定在视口顶部和底部。页面的主要内容区域(例如一个 完整示例结构: 通过采用Bulma的固定定位类,我们可以轻松实现具有固定页眉、页脚和可滚动内容区域的复杂布局,从而提升用户界面的可用性和专业性。这种方法比尝试强制hero-body滚动更为健壮和符合框架设计哲学。<!DOCTYPE html>
<html class="has-n*bar-fixed-top has-n*bar-fixed-bottom">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>Bulma固定页眉页脚与可滚动内容</title>
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/bulma@0.9.3/css/bulma.min.css">
<style>
/* 示例样式,确保内容足够长以触发滚动 */
.long-content {
height: 150vh; /* 使内容高度远超视口,以便观察滚动效果 */
background-color: #f5f5f5;
padding: 2rem;
}
</style>
</head>
<body>
<!-- 固定顶部导航栏 -->
<n* class="n*bar is-fixed-top" role="n*igation" aria-label="main n*igation">
<div class="n*bar-brand">
<a class="n*bar-item" href="#">
@@##@@
</a>
<a role="button" class="n*bar-burger" aria-label="menu" aria-expanded="false" data-target="n*barExample">
<span aria-hidden="true"></span>
<span aria-hidden="true"></span>
<span aria-hidden="true"></span>
</a>
</div>
<div id="n*barExample" class="n*bar-menu">
<div class="n*bar-start">
<a class="n*bar-item">
主页
</a>
<a class="n*bar-item">
关于我们
</a>
</div>
</div>
</n*>
<!-- 可滚动的主要内容区域 -->
<main class="section">
<div class="container">
<h1 class="title">欢迎来到我的网站!</h1>
<p class="subtitle">这是一个带有固定页眉和页脚的页面。</p>
<div class="content long-content">
<p>
这里是页面的主要内容。当这些内容足够长时,您会发现只有这个区域可以滚动,而顶部的导航栏和底部的页脚始终保持可见。
这种布局对于需要展示大量信息,同时又希望用户能够随时访问重要导航链接和版权信息的网站非常有用。
</p>
<p>
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.
</p>
<p>
Curabitur pretium tincidunt lacus, ac venenatis enim semper sit amet. Proin sit amet purus eu velit lacinia facilisis. Mauris sed odio in massa posuere tristique. Donec nec metus id felis ullamcorper efficitur. Sed sit amet nisl id enim tincidunt ultrices. Nulla facilisi. Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae; Vivamus in arcu sit amet purus.
</p>
<!-- 重复内容以确保滚动 -->
<p>
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.
</p>
<p>
Curabitur pretium tincidunt lacus, ac venenatis enim semper sit amet. Proin sit amet purus eu velit lacinia facilisis. Mauris sed odio in massa posuere tristique. Donec nec metus id felis ullamcorper efficitur. Sed sit amet nisl id enim tincidunt ultrices. Nulla facilisi. Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae; Vivamus in arcu sit amet purus.
</p>
<p>
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.
</p>
<p>
Curabitur pretium tincidunt lacus, ac venenatis enim semper sit amet. Proin sit amet purus eu velit lacinia facilisis. Mauris sed odio in massa posuere tristique. Donec nec metus id felis ullamcorper efficitur. Sed sit amet nisl id enim tincidunt ultrices. Nulla facilisi. Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae; Vivamus in arcu sit amet purus.
</p>
</div>
</div>
</main>
<!-- 固定底部页脚 -->
<footer class="footer is-fixed-bottom">
<div class="content has-text-centered">
<p>
<strong>Bulma固定页脚示例</strong>. 版权所有 © 2025.
</p>
</div>
</footer>
</body>
</html>注意事项与总结
html.has-n*bar-fixed-top {
padding-top: 52px; /* 根据你的导航栏实际高度调整 */
}
html.has-n*bar-fixed-bottom {
padding-bottom: 52px; /* 根据你的页脚实际高度调整 */
}
以上就是使用Bulma构建固定页眉页脚与可滚动内容区域的布局的详细内容,更多请关注php中文网其它相关文章!
# 吴中抖音seo排名费用
# 以确保
# 对话框
# 解决这个问题
# 如何实现
# 如何更改
# 设计教程
# 广东seo营销网站
# 安阳整站seo关键词排名代理
# 使其
# 端午营销推广视频大全集
# 优秀设计产品网站推广
# 小额贷款网站优化策划
# 建瓯网络seo大概费用
# 朗玛网络营销推广
# 清远网站关键词优化软件
# 外贸电商网站建设真实性
# css
# 自定义
# 主要内容
# css框
# .net
# 响应式设计
# 响应式布局
# 网页设计
# cdn
# ai
# 浏览器
# npm
# go
# js
# html
# php
相关栏目:
【
Google疑问12 】
【
Facebook疑问10 】
【
优化推广96088 】
【
技术知识133117 】
【
IDC资讯59369 】
【
网络运营7196 】
【
IT资讯61894 】
相关推荐:
Golang如何使用gRPC拦截器实现日志收集_Golang gRPC拦截器日志收集实践
聚水潭ERP后台管理系统登录 聚水潭ERP官方登录通道
sublime怎么在文件中显示代码结构大纲_sublime符号列表功能
sublime如何处理超大文件不卡顿 _sublime打开大日志文件技巧
QQ邮箱PC端登录页面_QQ邮箱网页版登录界面
TikTok网页版入口快速访问 TikTok官网账号登录方法
cad视图选项卡不见了怎么办_cad视图标签恢复显示方法
利用Flexbox实现图片元素的二维布局:2x2网格排列指南
J*aScript与CSS动画:实现平滑顺序淡入淡出效果并解决显示冲突
宝妈做视频号该写什么标签话题?宝妈关注的话题有哪些?
邮编号码查询app有哪些_邮编号码查询推荐app及使用体验
VS Code如何设置默认配置
苹果手机聊天记录删除了如何恢复
苹果11如何更换iCloud账号_苹果11账号切换的具体步骤
圆通快递官网入口查询单号 手机版官方查询入口
动漫岛汉化官网网 动漫岛官方动漫汉化地址
《暗黑破坏神4》国服回归送狂欢礼包 价值6916元
Win10共享文件夹设置方法 Win10局域网文件共享全攻略【教程】
苹果手机如何清理系统缓存数据 iPhone非越狱清理垃圾文件的技巧【系统优化】
ao3入口镜像地址 ao3镜像入口可靠跳转
mysql怎么导入sql文件_mysql导入sql文件的方法与技巧
谷歌邮箱官方入口链接 谷歌邮箱网页版电脑端快速登录
如何在vscode中关闭it环境
vivo云服务一直提示空间不足怎么办 怎么办vivo云服务老是提示空间不足
Golang如何使用crypto/md5生成哈希_Golang MD5哈希生成方法
Chart.js 教程:自定义插件实现图表与图例间距调整
《浙里办》电子发票开具方法
如何修改Windows截图的默认保存位置_告别C盘让桌面更整洁【教程】
Apple Music无故扣费引质疑
悟空浏览器网页版在线工具 悟空浏览器网页版在线平台入口
b站怎么设置动态仅粉丝可见_b站动态粉丝可见设置方法
在J*a里什么是行为抽象_抽象行为对代码复用的提升作用
Win10输入法不见了怎么办 Win10找回语言栏图标教程
《红果免费短剧》下载观看方法
招商淘客入门指南
《理想汽车》权限管理设置方法
realme 10 Pro息屏方案_realme 10 Pro省电策略
谷歌浏览器官网地址整理_谷歌浏览器新版直连2026稳定访问
《咸鱼之王》新版孙坚技能解析
优化长HTML属性值:SonarQube警告与实用策略
Win11如何分屏操作_Win11多窗口分屏技巧
macosmonterey系统外接显示器驱动怎么安装_macosmonterey外接显示器驱动与分辨率调整
如何编写一个符合 composer 规范的 post-install-cmd 脚本?
智云Q3和Q2有什么升级_智云Q3与Q2手持云台功能与性能对比分析
Go语言反射机制:如何访问被嵌入结构体遮蔽的方法
猫眼电影app怎么查询电影院的营业时间_猫眼电影影院营业时间查询教程
qq音乐官方网站入口_qq音乐在线听歌网页版链接
Windows自带的便笺数据如何备份_防止数据丢失的便利贴迁移教程【干货】
《雷电模拟器》截图方法介绍
mysql归档数据怎么导出为csv_mysql归档数据导出为csv文件的方法
2025-12-09
运城市盐湖区信雨科技有限公司是一家深耕海外推广领域十年的专业服务商,作为谷歌推广与Facebook广告全球合作伙伴,聚焦外贸企业出海痛点,以数字化营销为核心,提供一站式海外营销解决方案。公司凭借十年行业沉淀与平台官方资源加持,打破传统外贸获客壁垒,助力企业高效开拓全球市场,成为中小企业出海的可靠合作伙伴。