移动端判断手机横竖屏状态

禁用用户自动缩放功能:

<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0">

判断横竖屏状态有两种方法:css判断、js判断

(一)、css判断横屏还是竖屏

1、写在同一个css文件中
@media screen and (orientation: portrait) {
/*竖屏 css*/
} 
@media screen and (orientation: landscape) {
/*横屏 css*/
}

根据横竖屏设置大小时,正常页面尺寸常规书写即可,横屏样式单独设置。即只需在原有样式基础上添加横屏样式即可,

@media screen and (orientation: landscape) {
/*横屏 css*/ }
当用户横屏时加载横屏样式,竖屏时取消横屏样式即加载默认样式。

2、分开写在两个css中,根据横竖屏引用不同样式文件:

    根据横竖屏引用不同样式文件

横屏:

<link rel="stylesheet" media="all and (orientation:landscape)" href="landscape.css">

竖屏:

<link rel="stylesheet" media="all and (orientation:portrait)" href="portrait.css">

备注:css判断横竖屏是时时的可无缝衔接,即横屏加载横屏样式,竖屏加载竖屏样式,

(二)js判断横屏还是竖屏

//判断手机横竖屏状态:
window.addEventListener("onorientationchange" in window ? "orientationchange" : "resize", function() {
if (window.orientation === 180 || window.orientation === 0) { 
console.log("竖屏");
$(".codeIg_s").removeClass('vercreen');//取消横屏样式
        } 
if (window.orientation === 90 || window.orientation === -90 ){ 
console.log("横屏");
$(".codeIg_s").addClass('vercreen');//添加横屏样式
        }  
}, false); 

备注:横屏样式在vercreen类名下修改原默认样式,可正常使用,缺点是必须有横竖屏的切换状态才会触发。

 

如果用户默认是横屏状态时不会触发横屏条件判断,只有用户从横屏转为竖屏或者从竖屏转为横屏时才会触发相应条件判断。

没有切换状态时会不执行任何条件判断,此处不如css判断横竖屏全面。

 

本文转载于:猿2048☞https://www.mk2048.com/blog/blog.php?id=0bj2abb&title=移动端判断手机横竖屏状态

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

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

相关文章

ubuntu dhcp ping 不通 自己_??2、DHCP安装和配置

DHCP动态主机设置协议&#xff0c;是一个局域网的网络协议&#xff0c;使用UDP协议工作&#xff0c;可以快速分配IP地址&#xff0c;解决内网IP不足、手动配置IP造成IP冲突以及内网机器多手工配置比较麻烦的问题。1.把win2008和win2003设置同一网段&#xff0c;网络适配器—配置…

python秒数变日期_将pandas日期列转换为已用秒数

新答案 将文本转换为Timedeltadf[Origin Time(Local)] pd.to_timedelta(df[Origin Time(Local)]) df[Seconds] df[Origin Time(Local)].dt.total_seconds() 旧答案 考虑数据帧dfdf pd.DataFrame(dict(Datepd.date_range(2017-03-01, 2017-03-02, freq2H))) Date 0 2017-03-0…

mysql用一个表更新另一个表的方法

Solution 1: 修改1列(navicate可行) update student s, city c set s.city_name c.name where s.city_code c.code; Solution 2: 修改多个列 update a, b set a.titleb.title, a.nameb.name where a.idb.id Solution 3: 采用子查询(navicate不可行) update student s set…

选择您的Java EE 6应用服务器

我被问到的第一个问题是&#xff1a;“我们应该使用哪个Java EE应用服务器&#xff1f;”。 随着Java EE 6的日益普及&#xff0c;新的兼容应用程序服务器获得了认证。 当前的官方兼容性和认证矩阵列出了针对完全配置文件&#xff0c;Web配置文件或两者认证的12种不同产品。 如…

串的基本计算

#include<stdio.h> #include<stdlib.h> //typedef int Status; #define Max 20 #define OK 1 #define ERROR 0 #define OVERLOE -2 typedef struct//堆分配表示串 { char *ch; int length; }HString; // int CreatHString(HString &H)//构造字符串 { H.length …

HTML表格属性及简单实例

这里主要总结记录下表格的一些属性和简单的样式&#xff0c;方便以后不时之需。 1、<table> 用来定义HTML的表格&#xff0c;具有本地属性 border 表示边框&#xff0c;border属性的值必须为1或空字符串("")。该属性不会控制边框的样式&#xff0c;而是由CSS来…

怎么查看MySQL 源码编译了什么_Mysql 源码编译教程贴

题外话:这是一篇教程贴,不仅学的是mysql的编译,还是一些编译的知识.我也是一个菜鸟,写一些感悟和心得,有什么问题可以批评指正,谢谢!如果只是为了安装请移到我的另一篇安装贴: Mysql安装贴环境:OS: CentOS 6.6x64 minimysql: mysql-5.6.251. mysql 下载:http://dev.mysql.com/d…

linux mysql启动_MySQL 安装(二)

MySQL 安装所有平台的Mysql下载地址为&#xff1a;MySQL 下载 . 挑选你需要的 MySQL Community Server 版本及对应的平台。Linux/UNIX上安装MySQLLinux平台上推荐使用RPM包来安装MySQL&#xff0c;MySQL AB提供了以下RPM包的下载地址&#xff1a;MySQL - MySQL服务器。你需要该…

0524驼峰命名法,模态对话框

模态对话框 window.showModalDialog("url"&#xff0c;"向目标对话框传的值"&#xff0c;"窗口特征参数") 打开模态对话框 模态对话框必须关掉才能对后端操作。 模块对话框和窗口的区别是永远置顶。 特征参数&#xff1a;用分号隔开&#xff0c;…

谁在偷你的记忆? 应用服务器版

您创建了一个了不起的应用程序。 您将其投入生产。 您会发现您没有足够的可用内存。 即使您的所有测量结果&#xff08;可能是借助我们的小型公用事业公司进行的测量 &#xff09;都表明您应该还不错。 我们计划发布一系列博客文章&#xff0c;研究堆消失的位置&#xff0c;并…

遗忘的html标签

1 <span>x</span><sup>2</sup><span> y10</span> 2 <br> 3 <span>H</span><sub>2</sub><span>O</span> <sup> 标签可定义上标文本。 包含在 <sup> 标签和其结束标签 …

Android四大组件之BroadcastReceiver

什么是BroadcastReceiver? BroadcastReceiver(广播接收器)&#xff0c;顾名思义&#xff0c;是用来接收广播的。Android内部实现了一套广播通信机制&#xff0c;即在某个应用或某个组件注册广播接收器&#xff0c;接收特定类型的广播。当别的应用或组件发送该类型的广播时&…

mysql数据库索引页号为什么从3开始_MySQL数据库快问快答

原标题&#xff1a;MySQL数据库快问快答前言今天楼主给大家列一下关于数据库几个常见问题的要点&#xff0c;如果大家对其中的问题感兴趣&#xff0c;可以自行扩展研究。1. UNION ALL 与 UNION 的区别UNION和UNION ALL关键字都是将两个结果集合并为一个。UNION在进行表链接后会…

通过简单的Spring方面摆脱null参数

什么是世界上最令人讨厌的&#xff0c;同时也是最受欢迎的例外&#xff1f; 我敢打赌这是NullPointerException。 NullPointerException可以表示任何东西&#xff0c;从简单的“ ups&#xff0c;我认为不能为空”到数小时和数天的第三方库调试&#xff08;我敢于尝试使用Doze…

java arraylist排序_最全Java集合笔记

集合概述什么是集合集合框架&#xff1a;用于存储数据的容器。集合框架是为表示和操作集合而规定的一种统一的标准的体系结构。任何集合框架都包含三大块内容&#xff1a;对外的接口、接口的实现和对集合运算的算法。接口&#xff1a;表示集合的抽象数据类型。接口允许我们操作…

【3】JVM-OutOfMemory异常重现

JVM中常见的OOM&#xff0c;那么如何通过自己编写代码产生这些OOM异常呢&#xff1f;通过写代码重现异常&#xff0c;是为了避免在工作中写出有OOM BUG的代码。之前虽然看过相关文章&#xff0c;但是没自己写过这些代码&#xff0c;这次在编写的实际过程中&#xff0c;由于和书…

CachedIntrospectionResults 初始化

转载于:https://www.cnblogs.com/xiluhua/p/7862985.html

为什么有些内联(行内)元素可以设置宽高?

为什么有些内联&#xff08;行内&#xff09;元素如img、input可以设置宽高&#xff1f; 在说明之前我们先来了解一些定义。 块级元素和内联元素&#xff1a; ①块级元素总是独占一行&#xff0c;表现为另起一行开始&#xff0c;而且其后的元素也必须另起一行显示。 宽度(w…

mongo数据库和mysql数据库的区别_Mongodb与mysql数据库的区别

MySQLMongoDB说明mysqldmongod服务器守护进程mysqlmongo客户端工具mysqldumpmongodump逻辑备份工具mysqlmongorestore逻辑恢复工具db.repairDatabase()修复数据库mysqldumpmongoexport数据导出工具sourcemongoimport数据导入工具grant * privileges on *.* to …Db.addUser()Db…

在Eclipse中高效运行HTTP / REST集成测试

最近&#xff0c;我有机会使用由我亲爱的Holger Staudacher编写的OSGi-JAX-RS-Connector库。 通过连接器&#xff0c;您可以通过将Path注释的类型注册为OSGi服务来轻松发布资源-实际上&#xff0c;它工作得很好。 对于我来说&#xff0c;使用普通的JUnit测试编写驱动的服务类测…