jQuery Mobile字体大小设置按钮设计指南
还在为移动应用字体大小适配发愁?3步实现老年人也能轻松操作的字体调节功能。读完本文你将掌握:字体按钮的设计规范、零代码基础的实现方法、3类场景的适配技巧。
一、设计原则:让字体调节更友好
1.1 易发现性
按钮需放置在导航栏等高频访问区域,参考jquery.mobile.navbar.css的导航栏布局规范,建议使用如下样式:
.ui-navbar .ui-btn {
font-size: 14px; /* 比默认按钮大1.2倍 */
padding: .7em 1em;
}
1.2 操作逻辑
采用"增大+减小+重置"三按钮组合,按钮间距需符合jquery.mobile.controlgroup.css的5px标准间距。
1.3 视觉反馈
点击时应显示明显状态变化,可通过修改jquery.mobile.theme.css的活跃状态样式实现:
.ui-btn-active {
background-color: #2196F3;
color: white;
}
二、实现步骤:3行代码搞定
2.1 引入资源
<link rel="stylesheet" href="https://apps.bdimg.com/libs/jquery-mobile/1.4.5/jquery.mobile-1.4.5.min.css">
<script src="https://apps.bdimg.com/libs/jquery/1.11.3/jquery.min.js"></script>
<script src="https://apps.bdimg.com/libs/jquery-mobile/1.4.5/jquery.mobile-1.4.5.min.js"></script>
完整样式定义可查看项目中的jquery.mobile.structure.css
2.2 HTML结构
<div data-role="navbar">
<ul>
<li><a href="#" id="font-smaller" data-role="button" data-icon="minus">A-</a></li>
<li><a href="#" id="font-reset" data-role="button" data-icon="refresh">重置</a></li>
<li><a href="#" id="font-larger" data-role="button" data-icon="plus">A+</a></li>
</ul>
</div>
导航栏组件详情参考demos/navbar/index.php
2.3 功能实现
$(document).on("pagecreate", function() {
var baseSize = 16; // 基准字体大小,源自[jquery.mobile.core.css](https://link.gitcode.com/i/18a0114cbbe5fe39cdd5a0f29e90337d)第213行
$("#font-larger").on("tap", function() {
$("html").css("font-size", (baseSize * 1.2) + "px");
});
$("#font-smaller").on("tap", function() {
$("html").css("font-size", (baseSize * 0.8) + "px");
});
$("#font-reset").on("tap", function() {
$("html").css("font-size", baseSize + "px");
});
});
三、场景优化方案
3.1 老年用户适配
将最大字号设为默认值的1.5倍,参考listview.css第114行列表项样式:
.ui-page .ui-content {
font-size: 1em; /* 基础值 */
}
.ui-page.large-font .ui-content {
font-size: 1.5em; /* 老年模式 */
}
3.2 响应式适配
结合table.reflow.css的响应式方案:
@media (max-width: 320px) {
html { font-size: 18px !important; }
}
四、避坑指南
- 样式冲突:检查jquery.mobile.theme.css的优先级规则
- 性能优化:使用js/helpers.js中的节流函数控制调节频率
- 兼容性:引入js/support.js做设备检测,老旧设备自动隐藏功能
核心代码总结
<!-- 导航栏结构 -->
<div data-role="navbar"><ul><li><a id="font-larger">A+</a></li></ul></div>
<!-- 调节逻辑 -->
<script>
$("#font-larger").on("tap", function() {
document.documentElement.style.fontSize = "18px";
});
</script>
通过上述方案,可在保持jQuery Mobile原生风格的同时,为用户提供无障碍的字体调节体验。完整示例可参考demos/toolbar-fixed/目录下的固定工具栏实现。
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考



