【实战】H5 页面同时适配 PC 移动端 —— 旋转横屏
文章目录
- 一、场景
- 二、方案
- 三、书单推荐
- 01 《深入实践Kotlin元编程》
- 02 《Spring Boot学习指南》
- 03 《Kotlin编程实战》
一、场景
一个做数据监控的单页面,页面主要内容是一个整体必须是宽屏才能正常展示,这时就不能用传统的适配方案了,需要页面旋转为横屏展示
本场景中:
- 尺寸相对单位使用 vh(视高的1%)
- 展示内容类似脑图,根在上(数据源),分四层,每层节点较多所以只能横屏展示
- 未使用第三库(无法直接展示为根左向右数据分发)
二、方案
相对原PC页,重构过程中主页面只增加判断逻辑(不直接判断是否手机端,只判断可见窗口宽高比):
const isPhone = document.body.clientWidth < document.body.clientHeight
样式文件(css-in-js)分两种:
- 布局:layout.js(使用了@emotion/react)
- 样式:style.js(正常 js-obj)
其中 layout.js 分开两种:
- layout.js(保持原状)
- layoutPhone.js(直接 vh 改 vw,且最外层容器旋转 transform:rotate(90deg))
注意:由于被旋转元素的基点默认为自身的中心点。因此需要设置一下它的旋转中心为左上角(transform-origin: 0% 0%;),这样页面被“转出了屏幕”停留在屏幕的左侧,最后一步只需要将它往右平移一个屏幕的宽度就刚刚好(left:100vw),如下:
export const Container = styled.div`...transform:rotate(90deg);transform-origin: 0% 0%;position: absolute;left: 100vw;
`
style.js 使用变量 $h 保存垂直预览页面时,视图高度代表设备的高或宽
- PC端:$h = ‘vh’
- 手机端:$h = ‘vw’
其他情况自行兼容处理。。。
over
三、书单推荐
01 《深入实践Kotlin元编程》

《深入实践 K o t l i n 元编程》 《深入实践Kotlin元编程》 《深入实践Kotlin元编程》
作者:霍丙乾 作者:霍丙乾 作者:霍丙乾
推荐语:猿辅导资深Kotlin专家、Google开发者专家撰写,Kotlin中文站负责人等多位专家推荐,降低元编程学习门槛。
这是一本从基础知识、设计思想、技术方案、应用方法、实践技巧5个维度系统讲解Kotlin元编程,并以此大幅提升Kotlin工程师开发水平、研发效率和开发体验的著作。
作者是Kotlin领域的资深专家和布道者,本书源于他对Kotlin编译器源码的反复研读和大量的工程实践,不仅细致讲解了反射、程序静态分析、 Java注解处理器、Kotlin符号处理器、Kotlin编译器插件、元程序的开发和调试等核心元编程技术,而且详细剖析了Jetpack Compose的编译器插件和IntelliJ 插件、AtomicFU 的 JVM 字节码和JavaScript代码的生成逻辑。
02 《Spring Boot学习指南》

《 S p r i n g B o o t 学习指南》 《Spring Boot学习指南》 《SpringBoot学习指南》
构建云原生 J a v a 和 K o t l i n 应用程序 构建云原生Java和Kotlin应用程序 构建云原生Java和Kotlin应用程序
作者: [ 美 ] 马克 ⋅ 赫克勒 ( M a r k H e c k l e r ) 作者:[美]马克·赫克勒(Mark Heckler) 作者:[美]马克⋅赫克勒(MarkHeckler)
推荐语:行业专家撰写,涵盖开发Spring Boot 应用程序的诸多复杂细节,代码示例相互关联且易于理解。
本书将带你理解Spring Boot的架构和方法,包括调试、测试和部署等主题。如果你想使用Spring Boot来快速、有效地开发云原生Java或Kotlin应用程序(使用响应式编程、构建API以及创建各种数据库访问),那么本书就是为你准备的。
03 《Kotlin编程实战》

《 K o t l i n 编程实战》 《Kotlin编程实战》 《Kotlin编程实战》
创建优雅、富于表现力和高性能的 J V M 与 A n d r o i d 应用程序 创建优雅、富于表现力和高性能的JVM与Android应用程序 创建优雅、富于表现力和高性能的JVM与Android应用程序
作者: [ 美 ] 文卡特 ⋅ 苏布拉马尼亚姆 作者:[美]文卡特·苏布拉马尼亚姆 作者:[美]文卡特⋅苏布拉马尼亚姆
推荐语:Jolt Productivity获奖作者编写,Kotlin首席设计师Andrey Breslav作序推荐,助你开启通往Kotlin世界的大门。
阅读本书,不仅可以通过易于理解的示例学习使用Kotlin语言的许多特性,还可以学习编写易于维护、高性能的JVM和Android应用程序,创建DSL和异步编程等。
本书会带你使用你喜欢的IDE并利用大量示例和练习来提高你的Kotlin技能。你将学习创建独立的小程序并以脚本的形式运行,创建类型安全的代码,然后将这些知识进一步拓展,以创建易于扩展的、完全面向对象的、函数式风格的代码。还将学习如何在不影响效率或性能的情况下优雅地编程,以及如何使用元编程来创建高度富有表现力的代码,并创建利用语言流畅性优势的内部DSL。与此同时,你也会学习协程、异步编程、自动化测试的相关知识,并学习在企业级应用中混合使用Kotlin与Java。
相关文章:
【实战】H5 页面同时适配 PC 移动端 —— 旋转横屏
文章目录 一、场景二、方案三、书单推荐01 《深入实践Kotlin元编程》02 《Spring Boot学习指南》03 《Kotlin编程实战》 一、场景 一个做数据监控的单页面,页面主要内容是一个整体必须是宽屏才能正常展示,这时就不能用传统的适配方案了,需要…...
使用凌鲨进行聚合搜索
作为研发人员,我们经常需要在多个来源之间查找信息,以便进行研发工作。除了常用的搜索引擎如百度和必应之外,我们还需要查阅各种代码文档和依赖包等资源。这些资源通常分散在各个网站和文档库中,需要花费一定的时间和精力才能找到…...
程序设计之——手把手教你如何从Excel文件中读取学生信息
在当今信息化时代,计算机技术已经深入到各个领域,而程序设计则成为推动信息化建设的关键技术之一。在众多领域中,学生信息管理系统无疑是其中一个重要的应用。本文将从学生信息管理系统的开发入手,探讨开如何高效且保证质量的完成…...
Docker容器化技术(从零学会Docker)
文章目录 前言一、初识Docker1.初识Docker-Docker概述2.初识Docker-安装Docker3.初识Docker-Docker架构4.初识Docker-配置镜像加速器 二、Docker命令1.Docker命令-服务相关命令2.Docker命令-镜像相关命令3.Docker命令-容器相关命令 三、Docker容器的数据卷1.Docker容器数据卷-数…...
【新版】系统架构设计师 - 案例分析 - 总览
个人总结,仅供参考,欢迎加好友一起讨论 架构 - 案例分析 - 总览 新旧大纲对应 旧版新版系统规划软件架构设计设计模式系统设计系统建模分布式系统设计嵌入式系统设计系统的可靠性分析与设计系统的安全性和保密性设计系统计划信息系统架构的设计理论和实…...
【Git】02-Git常见应用
文章目录 1. 删除不需要分支2. 修改最新Commit的Message3. 修改之前Commit的Message4. 连续多个Commit整理为一个5. 不连续的Commit整理为一个6. 比较暂存区和HEAD中文件差异7. 比较工作区和暂存区中文件差异8. 将暂存区恢复为HEAD相同9. 工作区文件恢复和暂存区相同10. 取消暂…...
YOLO物体检测-系列教程2:YOLOV2整体解读
🎈🎈🎈YOLO 系列教程 总目录 YOLOV1整体解读 YOLOV2整体解读 YOLOV2提出论文:YOLO9000: Better, Faster, Stronger 1、YOLOV1 优点:快速,简单!问题1:每个Cell只预测一个类别&…...
u盘传输数据的时候拔出会怎么样?小心这些危害
U盘是我们日常生活和工作中常使用的一种便携式存储设备。然而,在使用U盘传输数据时,有时我们会不小心将它拔出,而这个看似微不足道的行为实际上可能会带来严重的后果。本文将向您介绍U盘在传输数据时突然拔出可能导致的各种危害,其…...
【踩坑纪实】URL 特殊字符 400 异常
URL 特殊字符 400 异常 笔者之前在写后端或者前端时,在处理表单时,经常有对特殊字符的检验处理,但自己也不清楚为什么要这么做,浅浅地以为可能是特殊字符不好看或者存取可能会造成异常?不过一直没遇到过问题ÿ…...
Contents:帮助公司为营销目的创建内容
【产品介绍】 名称 Contents上线时间 2017年5月 具体描述 Contents是一家提供基于人工智能的内容生成平台的企业,可以帮助用户在各种网站和工具中使用最先进的机器学习模型,实现视频编辑、图像生成、3D建模等内容创作。【团队介绍…...
1397: 图的遍历——广度优先搜索
题目描述 广度优先搜索遍历类似于树的按层次遍历的过程。其过程为:假设从图中的某顶点v出发,在访问了v之后依次访问v的各个未曾被访问过的邻接点,然后分别从这些邻接点出发依次访问它们的邻接点,并使“先被访问的顶点的邻接点”先…...
Java 华为真题-选修课
需求: 现有两门选修课,每门选修课都有一部分学生选修,每个学生都有选修课的成绩,需要你找出同时选修了两门选修课的学生,先按照班级进行划分,班级编号小的先输出,每个班级按照两门选修课成绩和的…...
Invalid access token: Invalid header string: ‘utf-8‘ codec can‘t decode byte
报错:在运行一个txt文档时报Invalid access token: Invalid header string: ‘utf-8’ codec can’t decode byte 原因:文档编码方式的原因,电脑默认的是UFT-8格式的编码 解决方法:用notepad改一下文档编码就好...
Java 中将多个 PDF 文件合并为一个 PDF
一.前言 我们将从以下两个方面向您展示如何将多个PDF文件合并为一个PDF: 1. 将文件中的多个 PDF 合并为单个 PDF 2. 将流中的多个 PDF 合并为单个 PDF 1. 了解 Spire.PDF 库 要在 Java 中合并 PDF 文件,我们将使用Spire.PDF 库。Spire.PDF for Java 是…...
python经典百题之水仙花数
题目:打印出所有的“水仙花数”,所谓“水仙花数”是指一个三位数,其各位数字立方和等于该数 本身。例如:153是一个“水仙花数”,因为1531的三次方+5的三次方+3的三次方。 方法一:暴…...
jvm的调优工具
1. jps 查看进程信息 2. jstack 查看进程的线程 59560为进程id 产生了死锁就可以jstack查看了 详细用途可以看用途 3. jmap 如何使用dump文件看下 查看 4.jstat 空间占用和次数 5. jconsole可视化工具 各种使用情况,以及死锁检测 6. visualvm可视化工具…...
C语言--字符串旋转笔试题
C语言–字符串旋转笔试题 文章目录 C语言--字符串旋转笔试题一、字符串左旋1.1 思路11.2 思路1代码1.3 思路21.4 思路2代码 二、字符串旋转结果判断2.1 思路12.2 思路2 一、字符串左旋 实现一个函数,可以左旋字符串中的k个字符。 例如: ABCD左旋一个字…...
IntelliJ IDEA使用_常规设置
文章目录 版本说明主题设置取消检查更新依赖自动导入禁止import xxx.*、允许import内部类显示行号、方法分割线、空格代码提示(匹配所有字母)自定义注释颜色添加头部注释自定义字体设置字符编码关联本地GitJDK编译版本Maven配置Tomcat配置代码注释设置头…...
ResponseBodyAdvice 获取参数
废话不多说,简练,一针见血,解决问题,才是最好的。 首先肯定是重写了这个beforeBodyWrite方法 重点来了,获取请求参数: request.getBody()返回一个inputStream流,这里你可以 使用很多方法把这个…...
人力资源服务升级正当时,法大大助力佩信集团加速数字化
人力资源服务业是现代服务业的一个重要门类,在促进就业创业、提供人才服务方面发挥重要作用。同时面对产业转型升级、平台经济快速发展、企业用工成本提高等新形势,发展人力资源服务业对于促进社会化就业、更好发挥我国人力资源优势、服务经济社会发展具…...
JPlag:源代码相似性检测与抄袭识别的核心技术解析
JPlag:源代码相似性检测与抄袭识别的核心技术解析 【免费下载链接】JPlag State-of-the-Art Source Code Plagiarism & Collusion Detection. Check for plagiarism in a set of programs. 项目地址: https://gitcode.com/gh_mirrors/jp/JPlag JPlag是一…...
技术深度解析:5大核心要点掌握Sunshine开源游戏串流服务器实战部署
技术深度解析:5大核心要点掌握Sunshine开源游戏串流服务器实战部署 【免费下载链接】Sunshine Self-hosted game stream host for Moonlight. 项目地址: https://gitcode.com/GitHub_Trending/su/Sunshine Sunshine是一款功能强大的自托管开源游戏串流服务器…...
React 18 + Vite + Tailwind CSS 构建现代化SaaS落地页实战
1. 项目概述与设计思路最近在做一个保险科技(InsurTech)相关的概念项目,需要为这个名为“Insura”的SaaS平台打造一个现代化的落地页(Landing Page)。这个页面的核心目标很明确:向潜在客户(主要…...
边缘AI落地实战:从软件平台到NPU硬件的协同开发路径
1. 边缘AI的现实挑战与破局思路在2025年的阿姆斯特丹,一场汇聚了半导体巨头与初创公司的会议,清晰地勾勒出当前技术领域最炙手可热的战场:边缘人工智能。这不再是实验室里的概念演示,而是工程师们每天都要面对的真实难题——如何让…...
从NASA航天电子设计看高可靠性电源与模拟电路工程实践
1. 从太空迷到电子工程师:我的技术启蒙之路我是一名不折不扣的太空迷。这个身份的烙印,始于童年时守在电视机前,目睹第一艘“水星号”载人飞船发射升空的那一天。沃尔特克朗凯特在新闻中从各个科学角度进行的详尽报道,让我整整一天…...
【JWT】JWS与JWE实战解析:从结构差异到安全选型指南
1. JWT、JWS与JWE的核心概念解析 第一次接触JWT相关技术时,我也曾被各种缩写搞得晕头转向。直到在真实项目中踩过几次坑,才真正理解它们之间的关系。简单来说,JWT就像是一个快递包裹,而JWS和JWE则是两种不同的包装方式——前者像…...
终极小说下载器:一键离线收藏100+小说网站完整指南
终极小说下载器:一键离线收藏100小说网站完整指南 【免费下载链接】novel-downloader 一个可扩展的通用型小说下载器。 项目地址: https://gitcode.com/gh_mirrors/no/novel-downloader 在数字阅读时代,你是否曾为心爱的小说突然消失而烦恼&#…...
RevokeMsgPatcher实战指南:Windows微信QQ防撤回的终极秘籍
RevokeMsgPatcher实战指南:Windows微信QQ防撤回的终极秘籍 【免费下载链接】RevokeMsgPatcher :trollface: A hex editor for WeChat/QQ/TIM - PC版微信/QQ/TIM防撤回补丁(我已经看到了,撤回也没用了) 项目地址: https://gitcod…...
音频算法调试利器:用Android App实时绘制EQ/DRC曲线,告别Matlab依赖
移动端音频算法调试革命:Android实时EQ/DRC可视化工具开发实战 在音频算法开发领域,调试环节长期被桌面级工具垄断,工程师们不得不忍受开发板与工作站之间的频繁切换。这种工作模式不仅效率低下,更无法满足现代音频产品快速迭代的…...
Windows上的APK安装革命:如何用开源工具无缝运行安卓应用
Windows上的APK安装革命:如何用开源工具无缝运行安卓应用 【免费下载链接】APK-Installer An Android Application Installer for Windows 项目地址: https://gitcode.com/GitHub_Trending/ap/APK-Installer 还在为Windows和安卓生态之间的鸿沟而烦恼吗&…...
