知识分类
后端
前端
设计
开源组件/产品
APP
其他
广告招募

让uniapp的uni-drawer组件不遮挡自定义导航栏

管理员
发布于:2023-04-22 12:52:48
导读:在uniapp开发小程序时,若同时使用自定义导航栏与uni-drawer组件,会出现遮挡状态栏和导航栏的问题。解决方法是:通过JS获取系统信息计算状态栏高度(`wx.getSystemInfoSync()`)及自定义导航栏总高度(状态栏+默认44px),将结果赋值给CSS变量;然后在SCSS样式中用`::v-deep`穿透作用域,设置`.uni-drawer`的`margin-top`为该变量值,即可避免遮挡。

在uniapp开发小程序中如果使用了自定义的导航栏 并且使用了uni-drawer组件,uni-drawer组件会遮挡状态栏和导航栏,效果图如下:

如何解决这个问题呢?

要是能控制drawer的margin-top 就好了,所以可以这样解决:

计算状态栏的高度和自定义导航栏(uniapp默认的导航栏高度时间44,根据自己情况调整)的高度,JS代码如下:

const res = wx.getSystemInfoSync();
const statusHeight = res.statusBarHeight; //状态栏高度
const cusnavbarheight = (statusHeight + 44) + "px";

样式代码如下(注意加上lang="scss"):

<style scoped lang="scss">
	::v-deep .uni-drawer {
		margin-top: v-bind(cusnavbarheight)
	}
</style>

最终效果图:

关键词: uniapp uni-drawer 组件 自定义 导航栏
上一篇:警惕!1px并不等于2rpx,px和rpx的转换算法
下一篇:JavaScript通过年月判断当月的天数,支持闰年
搜索内容
最新文章
  • SEO和SEM的区别
  • VS Code 与 Trae 编辑器
  • 推荐一个U盘启动制作工具: Vent
  • 如何解决启动虚拟机时出现EFI Ne
  • 如何实现前端防抖、后端节流,防止重复
  • UniApp 阻止事件冒泡指南
  • WEBRPC信令服务器作用
  • 线程和协程的区别
  • 什么是敏捷式开发?
  • 什么是GEO生成式引擎优化?和SEO
精彩文章
  • 1 MSYS2中安装使用GCC的正确方法
  • 2 vscode用一个插件快速生成Vue
  • 3 Layui 怎么样更换主题颜色?
  • 4 3步教你如何修改uniapp but
  • 5 OBS在银河麒麟或ubuntu等核心
  • 6 连接WIFI出现无Internet
  • 7 FrameCoder非可,基于web
  • 8 常见主板开机进入bios热键,一张图
  • 9 JavaScript 判断对象是否为
  • 10 uniapp 中处理rich-tex
工信部备案:苏ICP备2023011827号-1
苏公网安备 32111202000338号