当前位置: 首页 > news >正文

uniapp实现H5页面内容居中与两边留白,打造类似微信公众号阅读体验

在 UniApp 中,由于需要兼容多端应用,我们通常使用 rpx 作为尺寸单位。然而,在某些情况下,如需要实现内容居中且两边留白时,直接使用 rpx 可能会带来一些限制。这时,我们可以考虑使用 pxrem 等单位,但又会遇到一些问题,如 fixed 定位元素实际还是会以可视窗口为准,以及二次开发项目中的复杂性。

解决方案

为了解决这些问题,我们可以利用启动页这样一个效果,通过 web-view 渲染元素。这样,可以完美解决上述两个问题。因为 web-view 渲染地址需为网络地址,所以我们可以设置一个变量来判断环境,防止开发调试麻烦,开发环境正常跳转首页,生产环境则使用 web-view 渲染。

启动页代码(appView.vue)

在这里插入图片描述

在pages.json将appView.vue设置启动页

在这里插入图片描述

最终效果图

在这里插入图片描述

appView.vue完整代码

<template><view class="main-content"><view class="h5-content" ref="h5Width" :style="{'width': width, 'height' : windowHeight }"><web-view src="https://v41211h5.mh.50api.cn/#/pages/tabBar/home" style="width: 100%;height: 100%;"@load="loadWeb"></web-view></view></view></template><script>import http from "utils/http.js"export default {data() {return {width: "auto",windowHeight: "0px"}},onLoad() {if (process.env.NODE_ENV === 'development') {uni.switchTab({url: '/pages/tabBar/home'})} else {const systemInfo = uni.getSystemInfoSync();this.windowHeight = systemInfo.windowHeight + 'px'if (systemInfo.windowWidth > 450) {this.width = "480px"} else {this.width = "750rpx"}}},onShow() {},methods: {loadWeb() {uni.showLoading({title: 'Cargando~'})},}}
</script><style>.main-content {background-color: #1d1d1c;background-image: url('../../static/image/texture_bg.png');}.h5-content {width: 100%;height: 100%;/* width: 400px; */height: 100vh;overflow: hidden;margin: 0 auto;position: relative;background-color: #1d1d1c;background-image: url('../../static/image/texture_bg.png');}</style>```
http://www.lryc.cn/news/519996.html

相关文章:

  • 极品飞车6里的赛道简介
  • SAP推出云端ERP解决方案,加速零售行业数字化转型
  • Python爬虫进阶——案例:模拟bilibili登录)
  • 什么是数据分析?
  • 基于springboot的课程作业管理系统源码(springboot+vue+mysql)
  • 多线程之旅:属性及其基本操作
  • 数据表中的数据插入、更新和删除
  • Q_OBJECT宏报错的问题
  • 提升性能300ms:深入解析Spring多表联接查询优化与SQL调优实战
  • 增量导入和全量导入的区别是什么?
  • 【百度智能云客悦智能客服】搭建AI agent智能对话 - 购车推荐
  • 【HTML+CSS+JS+VUE】web前端教程-3-标题标签
  • 逐笔成交逐笔委托Level2高频数据下载和分析:20250102
  • JavaEE之线程池
  • java 中 main 方法使用 KafkaConsumer 拉取 kafka 消息如何禁止输出 debug 日志
  • 【后端面试总结】Golang可能的内存泄漏场景及应对策略
  • Java 反射机制详解
  • 【k8s】scc权限 restricted、anyuid、privileged
  • 2025华数杯国际赛A题完整论文讲解(含每一问python代码+数据+可视化图)
  • ThreadLocal 的使用场景
  • 后端开发 Springboot整合Redis Spring Data Redis 模板
  • 代码随想录算法训练营第 4 天(链表 2)| 24. 两两交换链表中的节点19.删除链表的倒数第N个节点 -
  • 【RDMA学习笔记】1:RDMA(Remote Direct Memory Access)介绍
  • 网络安全常见的35个安全框架及模型
  • Elasticsearch介绍及使用
  • Leetocde516. 最长回文子序列 动态规划
  • iOS 逆向学习 - Inter-Process Communication:进程间通信
  • 高级生化大纲
  • YARN WebUI 服务
  • 【Unity3D】利用IJob、Burst优化处理切割物体