uniapp实现微信小程序横屏适配问题demo效果(整理)

news2024/11/15 15:59:48

在这里插入图片描述

使用VMIN进行布局
先了解css3的两个属性vmax和vmin

vmax 相对于视口的宽度或高度中较大的那个。其中最大的那个被均分为100单位的vmax
vmin 相对于视口的宽度或高度中较小的那个。其中最小的那个被均分为100单位的vmin

竖屏布局的时候,750rpx就是竖屏布局屏幕的宽度,vmin不管横竖屏的情况下,100vmin都是手机屏幕的宽度,所以rpx与vmin之间有一个换算的关系:x rpx=( x * 100 / 750)vmin。
也就是说: 75rpx转化为vmin就是 75 * 100/750=10vmin
所以我们将rpx转化成vmin就可以正常的进行横屏的开发。

主要:
@function tovmin(KaTeX parse error: Expected '}', got 'EOF' at end of input: rpx) { //rpx为需要转换的字号
@return #{$rpx * 100 / 750}vmin;
}

<template>
	<view class="clanHall" style="background-image: url(https://image.zrms.com.cn/1683537773246xianghuo.png);">
		<view class="videoTop row-me row-center">
			<image src="../static/back.png" mode="aspectFit" class="returnImg" @click="goClick"></image>
			<view class="row-me row-center broadcast">
				<image src="../static/icon_laba.png" mode="aspectFit" class="margin-right10 horn"></image>
				<swiper circular="true" vertical="true" autoplay="true" interval="3000" duration="1000"
					class="margin-right30 swiperBox">
					<swiper-item v-for="(item,index) in noticeList" :key="index"
						class="row-me row-center swiperItem colorfff">
						<view class="margin-left10 txt1">{{item.name}}</view><view class="txt2">{{item.day}}
						</view>去世,送上属于你的思念。
					</swiper-item>
				</swiper>
			</view>
		</view>
		<view class="leftBox">
			<view class="row-me row-center viewBox margin-bottom20" @click="tabLeft(1)">
				<image src="../static/btn_quanjing.png" mode="aspectFit" class="img"></image>
				<view class="font-bold colorfff leftTxt">全景</view>
			</view>
			<view class="row-me row-center viewBox margin-bottom20" @click="tabLeft(2)">
				<image src="../static/btn_sc.png" mode="aspectFit" class="img">
				</image>
				<view class="font-bold colorfff leftTxt">商城</view>
			</view>
			<view class="row-me row-center viewBox margin-bottom20" @click="tabLeft(3)">
				<image src="../static/btn_jcxx.png" mode="aspectFit" class="img"></image>
				<view class="font-bold colorfff leftTxt">家祠信息</view>
			</view>
			<view class="row-me row-center viewBox" @click="tabLeft(4)">
				<image src="../static/btn_jcys.png" mode="aspectFit" class="img"></image>
				<view class="font-bold colorfff leftTxt">家祠议事</view>
			</view>
		</view>

		<view class="rightBottom row-me row-center">
			<view class="viewBox" @click="tabRightbottom(1)">留言</view>
			<view class="viewBox" @click="tabRightbottom(2)">相册</view>
		</view>
	</view>
</template>

<script>
	export default {
		components: {

		},
		data() {
			return {
				noticeList: [ //公告栏播报
					{
						name: '杨树林',
						day: '2020年3月29日',
					},
					{
						name: '杨树林01',
						day: '2020年3月29日',
					},
					{
						name: '杨树林02',
						day: '2020年3月29日',
					},
				],
			}
		},
		// 侦听器
		watch: {

		},
		// 计算属性
		computed: {

		},
		//组件创建
		created() {

		},
		// 页面加载
		onLoad(e) {

		},
		// 页面显示
		onShow() {

		},
		// 方法
		methods: {
			goClick() {
				this.$.back();
			},
			tabLeft(index) {
				if (index == 1) {
					this.$.toast('暂无开通,敬请期待!');
				} else if (index == 2) {
					this.$.open("/ancestralHall/store/indexList");
				} else if (index == 3) {
					this.$.toast('暂无开通,敬请期待!');
				} else if (index == 4) {
					this.$.toast('暂无开通,敬请期待!');
				}
			},
			tabRightbottom(index) {
				if (index == 1) {
					this.$.toast('暂无开通,敬请期待!');
				} else if (index == 2) {
					this.$.open("/myAncestralHall/myAncestralHallPage/photo");
				}
			},
		},
		// 页面隐藏
		onHide() {

		},
		// 页面卸载
		onUnload() {

		},
		// 触发下拉刷新
		onPullDownRefresh() {

		},
		// 页面上拉触底事件的处理函数
		onReachBottom() {

		},
	}
</script>

<style lang="scss" scoped>
	@function tovmin($rpx) {
		//$rpx为需要转换的字号
		@return #{$rpx * 100 / 750}vmin;
	}

	// width: tovmin(750);
	.clanHall {
		height: 100vh;
		overflow: auto;
		background-color: #2A3143;
		background-size: 100% 100%;

		.videoTop {
			// height: 88rpx;
			height: tovmin(88);

			.returnImg {
				// width: 123rpx;
				// height: 34rpx;
				// margin-left: 60rpx;
				// margin-right: 46rpx;
				width: tovmin(123);
				height: tovmin(34);
				margin-left: tovmin(60);
				margin-right: tovmin(46);
			}

			.broadcast {
				flex: 1;
				// height: 80rpx;
				height: tovmin(80);
				border-radius: 20rpx;

				.horn {
					// width: 30rpx;
					// height: 30rpx;
					width: tovmin(30);
					height: tovmin(30);
				}

				.swiperBox {
					width: 100%;
					// height: 80rpx;
					height: tovmin(80);

					.horn {
						// width: 30rpx;
						// height: 30rpx;
						width: tovmin(30);
						height: tovmin(30);
					}

					.swiperItem {
						font-size: tovmin(24);

						.txt1 {
							color: #DBB081;
						}

						.txt2 {
							color: #DBB081;
						}
					}

				}
			}
		}

		.leftBox {
			position: fixed;
			// top: 118rpx;
			// left: 90rpx;
			// width: 200rpx;

			width: tovmin(200);
			top: tovmin(118);
			left: tovmin(90);

			.viewBox {
				// width: 200rpx;
				// height: 80rpx;
				width: tovmin(200);
				height: tovmin(80);
				background: rgba(0, 0, 0, 0.5);
				border-radius: 50rpx;
			}

			.img {
				// width: 44rpx;
				// height: 44rpx;
				// margin-left: 28rpx;
				// margin-right: 12rpx;

				width: tovmin(44);
				height: tovmin(44);
				margin-left: tovmin(28);
				margin-right: tovmin(12);
			}

			.leftTxt {
				font-size: tovmin(24);
			}
		}

		.rightBottom {
			position: fixed;
			// bottom: 58rpx;
			// right: 40rpx;

			bottom: tovmin(58);
			right: tovmin(40);

			.viewBox {
				// width: 182rpx;
				// height: 70rpx;
				// line-height: 70rpx;
				background-image: url('../static/bg_liuyan.png');
				background-size: 100% 100%;
				// font-size: 26rpx;
				font-weight: bold;
				color: #FFFFFF;
				text-align: center;
				// margin-left: 27rpx;

				width: tovmin(182);
				height: tovmin(70);
				line-height: tovmin(70);
				font-size: tovmin(26);
				margin-left: tovmin(27);
			}
		}

	}
</style>

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/505440.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

[前端]深浅拷贝

一、回顾变量类型 基础类型 boolean&#xff08;bool&#xff09; number string null undefined 引用类型 object ​ function ​ array 基本类型与引用类型的存储 基本类型一般存储在 栈 (栈小) 栈一旦确认 大小就固定 可能会造成溢出栈一般是先进后出用于存储…

数据库sql语句练习(二)

例题&#xff1a; ●检索出生年份比杜甫早的诗人 select name from poets where birth <( select birth from poets where name 杜甫’) 重点&#xff1a;ALL&#xff0c;SOME,ANY(对于any&#xff0c;有些系统用some) 使用all或者any时。必须同时使用比较运算符 注&…

Linux配置sftp用户访问指定目录

一、环境 开发环境&#xff1a;Win 10 -- 64位 服务环境&#xff1a;centos7 SSH&#xff1a;OpenSSH_7.4p1 二、新建sftp用户&#xff1a; 需要root权限执行-------------------------- 1.新建一个用户组 为了方便后面添加用户 groupadd sftp2.添加用户 useradd -g sf…

【Python】【进阶篇】27、Django url标签详解

目录 27、Django url标签详解1. url标签基本使用2. 给定参数的动态url 27、Django url标签详解 在 Django 的模板语言中除了我们前面章节介绍过的 if 标签和 for 标签之外&#xff0c;还有许多我们时常用到标签&#xff0c;比如 url 标签。 1. url标签基本使用 Django 的模板…

Xcode 使用 Instruments 无法找到代码中耗时挂起操作的解决

问题现象 Instruments 是一套非常有用的代码分析和调试利器,我们经常用它来查找 App 中的性能瓶颈。 不过,有时 Instruments 却无法捕获到系统明显挂起或长耗时的方法,这是怎么回事呢? 如上图所示,App 运行中系统(Severe Hang)被挂起长达 3 秒钟,但在 Instruments 竟…

tmux一个终端复用器(terminal multiplexer)

tmux 安装 使用包管理工具 # Ubuntu 或 Debian $ sudo apt-get install tmux# CentOS 或 Fedora $ sudo yum install tmux# Mac $ brew install tmuxsession 会话管理 1. 新建会话 第一个启动的 Tmux 窗口&#xff0c;编号是0&#xff0c;第二个窗口的编号是1&#xff0c;以…

[无线统计设计与国际标准]【chapter 1】[参考信号设计]【DMRS】

前言&#xff1a; 参考信号相关的所有内容都在38.211 中有介绍。 DMRS是用于信道估计&#xff0c;服务于UE信 道解调的。基站将DMRS穿插到各种信道的时频资源里面去&#xff0c;伴随着数据一起发送给UE&#xff1b; 对UE来说&#xff0c;DMRS是一个确…

Java【多线程基础6】定时器 + 模拟实现Timer

文章目录 前言一、定时器1, 什么是定时器2, 如何使用定时器 二、模拟实现定时器1, 初步实现2, 问题改善 总结 前言 &#x1f4d5;各位读者好, 我是小陈, 这是我的个人主页 &#x1f4d7;小陈还在持续努力学习编程, 努力通过博客输出所学知识 &#x1f4d8;如果本篇对你有帮助, …

【设计模式】责任链模式的介绍及其应用

责任链的介绍 责任链模式是一种对象的行为模式。在责任链模式里&#xff0c;很多对象由每一个对象对其下家的引用而连接起来形成一条链。请求在这个链上传递&#xff0c;直到链上的某一个对象决定处理此请求。发出这个请求的客户端并不知道链上的哪一个对象最终处理这个请求&a…

一款非常经典的蓝牙多媒体芯片​RDA5850

RDA5850是一款高度集成的蓝牙无线电收发器和基带处理器&#xff0c;基于低成本的32位XCPU RISC核心&#xff08;其实虽然手册上说是RISC核心&#xff0c;但我怎么感觉这款芯片有点MIPS的影子 &#xff09;具有多媒体能力。此芯片有着丰富的外设&#xff0c;而大多数的功能都是…

找出3个数中的最大值与最小值

设计完整的程序实现以下功能&#xff1a;从键盘上输入3个整数&#xff0c;通过指针运算&#xff0c;找出3个数中的最大值与最小值和它们的地址&#xff0c;并实现最大值与最小值的交换&#xff08;要求用指针作为函数参数处理&#xff09;。 #include <stdio.h>void swap…

onnxruntim的使用方法

onnxruntime是谁发明的&#xff1f; ONNX Runtime 是由微软公司开发和维护的深度学习推理框架。ONNX Runtime 的前身是 Microsoft Cognitive Toolkit (CNTK)&#xff0c;它是微软公司开发的一个深度学习框架&#xff0c;支持多种硬件平台和操作系统&#xff0c;具有高性能和易…

杜甫经典长诗“三吏”“三别”赏析

杜甫简介 杜甫&#xff08;公元712—公元770&#xff09;&#xff0c;原籍湖北襄阳&#xff0c;后徙河南巩县。字子美&#xff0c;自号少陵野老&#xff0c;杜少陵&#xff0c;杜工部等&#xff0c;唐代著名诗人&#xff0c;世称“诗圣”&#xff0c;生活在安史之乱(唐朝由盛转…

时间管理:瞎忙和高效的区别

前言 最近看到一个非常有价值的文章&#xff0c;内容上确实震撼到我了&#xff0c;借鉴过来用于自勉。 人和人的差距为什么这么大&#xff1f; 而且这种差距&#xff0c;并不是家庭背景、权利财富或天赋带来的&#xff0c;仅仅是我们对时间的掌控&#xff0c;人总是错把忙碌…

B860AV2.1-A/M/B_1g/2g-通刷_当贝纯净桌面-线刷固件包

ZTE_B860AV2.1-A&#xff0f;M&#xff0f;B_1g&#xff0f;2g-通刷_当贝纯净桌面-线刷固件包-内有教程及短接点 特点&#xff1a; 1、适用于对应型号的电视盒子刷机&#xff1b; 2、开放原厂固件屏蔽的市场安装和u盘安装apk&#xff1b; 3、修改dns&#xff0c;三网通用&a…

交直流一体化电源系统-交流电源自动测试系统ATECLOUD-Power

现代社会离不开电力&#xff0c;而电力供应的质量和可靠性&#xff0c;对于各个领域的发展都有着至关重要的作用。交直流一体化电源系统作为一种新型的供电方案&#xff0c;不仅具备高度的适应性、可靠稳定性以及节能环保性等诸多优势&#xff0c;还能为各行各业的市场提供更加…

【构造】CF634div3 D. Anti-Sudoku

Problem - D - Codeforces 题意&#xff1a; 给定一个数独&#xff0c;让你更改最多9格&#xff0c;使其变成anti-数独&#xff0c;即每一行&#xff0c;每一列&#xff0c;每一个3*3大格都存在一个数的出现次数>2 思路&#xff1a; 构造题&#xff0c;要不是根据题目隐含…

初识Vue-组件

目录 组件注册 全局注册 局部注册 全局导入 按需载入 Vue组件的生命周期 动态组件 keep-alive【使用的是LRU淘汰算法】 组件注册 全局注册 全局注册的组件可以在任何地方使用 Vue.component("custom-a", {render() {return <div>custom-a</div>…

代码随想录算法训练营day30 | 332. 重新安排行程,51. N 皇后,37. 解数独

代码随想录算法训练营day30 | 332. 重新安排行程&#xff0c;51. N 皇后&#xff0c;37. 解数独&#xff08;难度大&#xff0c;先简单了解&#xff09; 332. 重新安排行程51. N 皇后解法一&#xff1a;回溯 37. 解数独解法一&#xff1a; 总结 332. 重新安排行程 没有视频题解…

乐鑫esp32-c2开发板 烧录演示

一、准备工作 数据线X 1 、 四博智联 ESPC2-12 开发板 X 1 二、环境搭建 1、进入https://code.visualstudio.com 官网下载VSCODE软件 2、安装完成后安装乐鑫插件如下图 3、插件安装完后&#xff0c;查看- 命令面板&#xff08;快捷键CtrlShiftP&#xff09;。 4、输入config…