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

在这里插入图片描述

使用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>

在这里插入图片描述

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Golang每日一练(leetDay0062) BST迭代器、地下城游戏

目录 173. 二叉搜索树迭代器 Binary Search Tree Iterator &#x1f31f;&#x1f31f; 174. 地下城游戏 Dungeon Game &#x1f31f;&#x1f31f;&#x1f31f; &#x1f31f; 每日一练刷题专栏 &#x1f31f; Golang每日一练 专栏 Python每日一练 专栏 C/C每日一练 …

ASEMI代理LT8609AJDDM#WTRPBF原装ADI车规级芯片

编辑&#xff1a;ll ASEMI代理LT8609AJDDM#WTRPBF原装ADI车规级芯片 型号&#xff1a;LT8609AJDDM#WTRPBF 品牌&#xff1a;ADI /亚德诺 封装&#xff1a;DFN-10 批号&#xff1a;2023 安装类型&#xff1a;表面贴装型 引脚数量&#xff1a;10 工作温度:-40C~125C 类型…

python基础语法

一、配置python环境 &#xff08;1&#xff09;设置环境变量 path添加 C:\Program Files\Python3_11 C:\Program Files\Python3_11\Scripts &#xff08;2&#xff09;了解pip 什么是pip&#xff1f; pip是pyton包管理器&#xff0c;pypi&#xff08;Python Package Ind…

前端开发之Echarts 图表渐变两种实现方式和动态改变图表类型

前端开发之Echarts 图表渐变两种实现方式 前言效果图一、echarts中存在两种渐变方式1、color: new echarts.graphic.LinearGradient(0, 0, 0, 1, [{}&#xff0c;{}&#xff0c;{}])简单案例 2、{type: linear,x: 0,y: 0,x2: 0,y2: 1, [{}&#xff0c;{}&#xff0c;{}]}案例 二…

Codeforces Round 872 (Div. 2)

Problem - D2 - Codeforces 思路&#xff1a; 我们设good点到所有k点的距离和为dis。 假设good点不止一个&#xff0c;那么我们good点的dis应该都是相等的&#xff08;废话&#xff09;。设当前点u是good点&#xff0c;如果他往儿子v移动&#xff0c;儿子有w个点属于k&#…

怎么把mkv格式改成mp4?不妨试试这几种方法吧!

怎么把mkv格式改成mp4&#xff1f;mp4是一种多媒体封装格式&#xff0c;不过我们通常会将它说成是视频格式&#xff0c;它可以在一个文件中容纳无限数量的视频、音频、图片或字幕轨道&#xff0c;mp4格式也是被我们每个人所熟知&#xff0c;因为我们每个人几乎每天都会接触或者…

美团太细了,HashMap可以存null,ConcurrentHashMap不可以,为什么?

△Hollis, 一个对Coding有着独特追求的人△ 这是Hollis的第 420 篇原创分享 作者 l Hollis 来源 l Hollis&#xff08;ID&#xff1a;hollischuang&#xff09; 我们知道&#xff0c;ConcurrentHashMap在使用时&#xff0c;和HashMap有一个比较大的区别&#xff0c;那就是HashM…

springboot 多模块项目

比起传统复杂的单体工程&#xff0c;使用Maven的多模块配置&#xff0c;可以帮助项目划分模块&#xff0c;鼓励重用&#xff0c;防止POM变得过于庞大&#xff0c;方便某个模块的构建&#xff0c;而不用每次都构建整个项目&#xff0c;并且使得针对某个模块的特殊控制更为方便。…

Java系统环境变量配置

PATH环境变量 PATH环境变量用于保存一系列命令&#xff08;可执行程序&#xff09;的路径&#xff0c;每个路径之间以分号分隔。当在命令行窗口运行一个命令时&#xff0c;操作系统首先会在当前目录下查找是否存在该命令对应的可执行文件&#xff0c;如果未找到&#xff0c;操作…

模糊PID(重心法解模糊梯形图FC)

模糊PID的模糊化请参看下面的博客文章: 博途PLC模糊PID三角隶属度函数指令(含Matlab仿真)_plc 模糊pid_RXXW_Dor的博客-CSDN博客三角隶属度函数FC,我们采用兼容C99标准的函数返回值写法,在FB里调用会更加直观,下面给大家具体讲解代码。常规写法的隶属度函数FC可以参看下…

使用auto-gpt来写一篇技术文章(如何部署autogpt+遇到的问题+如何使用)

文章目录 前言一、autogpt本地部署1.clone代码2.启动虚拟环境3.运行项目 二、使用aotogpt生成文章1.人设描述2.设置目标3.文章的生成过程4.文章的生成内容 总结 前言 最近AI技术的发展非常迅猛&#xff0c;尤其是和GPT相关的技术&#xff0c;备受瞩目。近日&#xff0c;Autogp…

IPv6有哪些优势?

现有的互联网是在IPv4协议的基础上运行的。IPv6是下一版本的互联网协议&#xff0c;也可以说是下一代互联网的协议&#xff0c;它的提出最初是因为随着互联网的迅速发展&#xff0c;IPv4定义的有限地址空间将被耗尽&#xff0c;而地址空间的不足必将妨碍互联网的进一步发展。 为…

视频创作教程-蜜蜂剪辑软件

视频创作教程-蜜蜂剪辑软件 作者介绍 一、视频剪辑软件二、蜜蜂剪辑软件使用1.视频比例选择2.添加视频素材3.视频分割4.添加文字5.转场滤镜6.其它 三、创作实例四、软件分享 作者介绍 熊文博&#xff0c;男&#xff0c;西安工程大学电子信息学院&#xff0c;2020级硕士研究生&…

Vue3 基础语法

文章目录 1.创建Vue项目1.1创建项目1.2 初始项目 2.vue3 语法2.1 复杂写法2.2 简易写法2.3 reactive&#xff08;对象类型&#xff09;2.4 ref&#xff08;简单类型&#xff09;2.5 computed(计算属性)2.6 watch&#xff08;监听&#xff09; 3.vue3 生命周期4.vue3 组件通信4.…

RabbitMQ (HelloWord 消息应答 持久化 不公平分发 预取值)

文章目录 HelloWord工作队列工作线程代码启动两个工作线程工作队列&#xff08;生产者代码&#xff09;工作队列&#xff08;结果成功&#xff09; 消息应答自动应答手动消息应答multiple的解释消息自动重新入队手动应答代码消息手动应答&#xff08;生产者&#xff09;消息手动…

分布式系统概念和设计——命名服务设计和落地经验

分布式系统概念和设计 通过命名服务&#xff0c;客户进程可以根据名字获取资源或对象的地址等属性。 被命名的实体可以是多种类型&#xff0c;并且可由不同的服务管理。 命名服务 命名是一个分布式系统中的非常基础的问题&#xff0c;名字在分布式系统中代表了广泛的资源&#…

企业官方网站怎么申请?

在数字化时代&#xff0c;企业官方网站是展示企业形象、宣传产品和服务的重要窗口。那么&#xff0c;企业官方网站怎么申请呢&#xff1f;下面是一些简单的步骤。 1、选择合适的网站建设平台 目前市面上有许多网站建设平台&#xff0c;企业需要根据自己的需求和预算选择适合自…

公司新来个卷王,让人崩溃...

最近内卷严重&#xff0c;各种跳槽裁员&#xff0c;相信很多小伙伴也在准备今年的面试计划。 在此展示一套学习笔记 / 面试手册&#xff0c;年后跳槽的朋友可以好好刷一刷&#xff0c;还是挺有必要的&#xff0c;它几乎涵盖了所有的软件测试技术栈&#xff0c;非常珍贵&#x…

电力系统储能调峰、调频模型研究(Matlab代码实现)

&#x1f4a5;&#x1f4a5;&#x1f49e;&#x1f49e;欢迎来到本博客❤️❤️&#x1f4a5;&#x1f4a5; &#x1f3c6;博主优势&#xff1a;&#x1f31e;&#x1f31e;&#x1f31e;博客内容尽量做到思维缜密&#xff0c;逻辑清晰&#xff0c;为了方便读者。 ⛳️座右铭&a…

算法修炼之练气篇——练气二十一层

博主&#xff1a;命运之光 专栏&#xff1a;算法修炼之练气篇 前言&#xff1a;每天练习五道题&#xff0c;炼气篇大概会练习200道题左右&#xff0c;题目有C语言网上的题&#xff0c;也有洛谷上面的题&#xff0c;题目简单适合新手入门。&#xff08;代码都是命运之光自己写的…