【懒人教程】如何让uniapp项目在PC大屏中显示移动端的效果 - 统一uniapp项目的PC、平板、手机的样式

效果图

H5环境下,PC、平板、手机的样式一致

写在前面

无论是uniapp使用pages.json展示的顶部导航栏navbar和底部标签栏tabbar,

还是第三方的navbar、tabbar组件,

都是基于position: fixed;的写法,导致无法自适应的按照某种宽度居中显示,一直是屏幕全宽,

所以,严重建议自己手写navbar、tabbar并封装使用。

具体步骤

  1. 修改App.vue,增加css:

    css 复制代码
    /****************************************************/
    /* 【目标】PC、平板、移动端统一使用移动端的效果,并居中 */
    /* body底色:黑底 */
    page {
    	background-color: #000;
    	width: 100%;
    }
    /* 视口底色:浅灰色 */
    uni-page-body {
    	background-color: #e8e8e8;
    }
    /* 适配PC - 居中窄屏 */
    #app,
    .appNavbar,
    .appTabbar {
    	width: 100%;
    	max-width: 1280px;
    	margin: 0 auto;
    	font-weight: normal;
    	background-color: #e8e8e8;
    }
    .appNavbar, .appTabbar {
    	background-color: #fff;
    }
    @media (min-width: 768px) {
    	/* PC 端(屏幕宽度最低768px时,超出平板、手机范围,固定375px并居中) */
    	#app,
    	.appNavbar,
    	.appTabbar {
    		width: 375px;
    		margin: 0 auto;
    	}
    }
    
    /* 自己写tabbar、navbar,实现PC端和移动端统一展示移动端效果 */
    .appNavbarWrapper,
    .appTabbarWrapper {
    	position: fixed;
    	top: 0;
    	left: 0;
    	right: 0;
    }
    
    .appTabbarWrapper {
    	bottom: 0;
    	top: unset;
    }
  2. 在页面上,自己手写navbar、tabbar组件

    html 复制代码
    <template>
    	<view>
    		
    		<!-- 顶部导航栏 -->
    		<view class="appNavbarWrapper" style="height: 30px;">
    			<view class="appNavbar">
    				导航栏
    			</view>
    		</view>
    		<!-- 顶部导航栏 - 占位空间 -->
    		<view style="height: 30px;"></view>
    		
    		
    		
    		<!-- 页面内容 -->
    		<view>
    			页面内容
    		</view>
    		
    		
    		
    		
    		<!-- 底部标签栏 -->
    		<view class="appTabbarWrapper" style="height: 30px;">
    			<view class="appTabbar">
    				底部标签栏
    			</view>
    		</view>
    		<!-- 底部标签栏 - 占位空间 -->
    		<view style="height: 30px;"></view>
    		
    	</view>
    </template>
    
    <script setup>
    	
    </script>
    
    <style>
    	       
    </style>
  3. OK!

其他

  1. "page 相当于 body 节点..."
    页面样式与布局 | uni-app官网
  2. <match-media :min-width="375" :max-width="800">
    <view>页面宽度介于(375,800)时显示</view>
    </match-media>
    match-media | uni-app官网

ending...

相关推荐
2501_9159184125 分钟前
Web 前端可视化开发工具对比 低代码平台、可视化搭建工具、前端可视化编辑器与在线可视化开发环境的实战分析
前端·低代码·ios·小程序·uni-app·编辑器·iphone
2501_915106321 小时前
iOS 使用记录和能耗监控实战,如何查看电池电量消耗、App 使用时长与性能数据(uni-app 开发调试必备指南)
android·ios·小程序·uni-app·cocoa·iphone·webview
iOS阿玮7 小时前
苹果卡审情况将逐步缓解,合规的开发者请耐心等待~
uni-app·app·apple
2501_9160137410 小时前
HTTPS 抓包难点分析,从端口到工具的实战应对
网络协议·http·ios·小程序·https·uni-app·iphone
2501_9159184112 小时前
uni-app 项目 iOS 上架效率优化 从工具选择到流程改进的实战经验
android·ios·小程序·uni-app·cocoa·iphone·webview
00后程序员张12 小时前
如何在不同 iOS 设备上测试和上架 uni-app 应用 实战全流程解析
android·ios·小程序·https·uni-app·iphone·webview
耶啵奶膘1 天前
uni-app头像叠加显示
开发语言·javascript·uni-app
chéng ௹1 天前
uniapp 封装uni.showToast提示
前端·javascript·uni-app
吴传逞1 天前
记一次uniapp+nutui-uniapp搭建项目
uni-app
雪芽蓝域zzs1 天前
uni-app倒计时公共组件 封装,倒计时组件
uni-app