HTML5中判断横屏竖屏的方法(移动端)


Posted in HTML / CSS onAugust 04, 2016

在移动端中我们经常碰到横屏竖屏的问题,那么我们应该如何去判断或者针对横屏、竖屏来写不同的代码呢。

这里有两种方法:

一:CSS判断横屏竖屏

写在同一个CSS中

XML/HTML Code复制内容到剪贴板
  1. @media screen and (orientation: portrait) {   
  2.   /*竖屏 css*/   
  3. }    
  4. @media screen and (orientation: landscape) {   
  5.   /*横屏 css*/   
  6. }  

分开写在2个CSS中

竖屏

XML/HTML Code复制内容到剪贴板
  1. <link rel="stylesheet" media="all and (orientation:portrait)" href="portrait.css">   

横屏

XML/HTML Code复制内容到剪贴板
  1. <link rel="stylesheet" media="all and (orientation:landscape)" href="landscape.css">   

二:JS判断横屏竖屏

XML/HTML Code复制内容到剪贴板
  1. //判断手机横竖屏状态:   
  2. window.addEventListener("onorientationchange" in window ? "orientationchange" : "resize", function() {   
  3.         if (window.orientation === 180 || window.orientation === 0) {    
  4.             alert('竖屏状态!');   
  5.         }    
  6.         if (window.orientation === 90 || window.orientation === -90 ){    
  7.             alert('横屏状态!');   
  8.         }     
  9.     }, false);   

//移动端的浏览器一般都支持window.orientation这个参数,通过这个参数可以判断出手机是处在横屏还是竖屏状态。

屏幕方向对应的window.orientation值:

ipad,iphone: 90 或 -90 横屏
ipad,iphone: 0 或180 竖屏
Andriod:0 或180 横屏
Andriod: 90 或 -90 竖屏

HTML / CSS 相关文章推荐
纯CSS3实现表单验证效果(非常不错)
Jan 18 HTML / CSS
用纯css3和html制作泡沫对话框实现代码
Mar 21 HTML / CSS
深入CSS3 动画效果的总结详解
May 09 HTML / CSS
HTML5的结构和语义(3):语义性的块级元素
Oct 17 HTML / CSS
HTML5 CSS3新的WEB标准和浏览器支持
Jul 16 HTML / CSS
html标签之Object和EMBED标签详解
Jul 04 HTML / CSS
HTML5+CSS3实现拖放(Drag and Drop)示例
Jul 07 HTML / CSS
html5摇一摇代码优化包括DeviceMotionEvent等等
Sep 01 HTML / CSS
Html5 滚动穿透的方法
May 13 HTML / CSS
解析浏览器的一些“滚动”行为鉴赏
Sep 16 HTML / CSS
html5 移动端视频video的android兼容(去除播放控件、全屏)
Mar 26 HTML / CSS
Html5元素及基本语法详解
Aug 02 #HTML / CSS
Html5 web本地存储实例详解
Jul 28 #HTML / CSS
浅谈Html5中视频 音频标签 进度条的问题
Jul 26 #HTML / CSS
html5 初试 indexedDB(推荐)
Jul 21 #HTML / CSS
浅谈HTML5 &amp; CSS3的新交互特性
Jul 19 #HTML / CSS
HTML5和CSS3实例教程总结(推荐)
Jul 18 #HTML / CSS
HTML5 拖放功能实现代码
Jul 14 #HTML / CSS
You might like
一个ftp类(ini.php)
2006/10/09 PHP
php+mysql 实现身份验证代码
2010/03/24 PHP
使用PHP计算两个路径的相对路径
2013/06/14 PHP
PHP使用memcache缓存技术提高响应速度的方法
2014/12/26 PHP
php编写简单的文章发布程序
2015/06/18 PHP
对PHP依赖注入的理解实例分析
2016/10/09 PHP
PHP数据源架构模式之表入口模式实例分析
2020/01/23 PHP
JavaScript 事件记录使用说明
2009/10/20 Javascript
JavaScript自定义等待wait函数实例分析
2015/03/23 Javascript
javascript读取文本节点方法小结
2016/12/15 Javascript
javascript ASCII和Hex互转的实现方法
2016/12/27 Javascript
浅谈js函数三种定义方式 &amp; 四种调用方式 &amp; 调用顺序
2017/02/19 Javascript
Vue.js进阶知识点总结
2018/04/01 Javascript
使用nodejs分离html文件里的js和css详解
2019/04/12 NodeJs
Vue中消息横向滚动时setInterval清不掉的问题及解决方法
2019/08/23 Javascript
Vue 实现点击空白处隐藏某节点的三种方式(指令、普通、遮罩)
2019/10/23 Javascript
小程序按钮避免多次调用接口和点击方案实现(不用showLoading)
2020/04/15 Javascript
Electron实现应用打包、自动升级过程解析
2020/07/07 Javascript
在Uni中使用Vue的EventBus总线机制操作
2020/07/31 Javascript
搭建vscode+vue环境的详细教程
2020/08/31 Javascript
python调用新浪微博API项目实践
2014/07/28 Python
用Python写一个无界面的2048小游戏
2016/05/24 Python
Python logging管理不同级别log打印和存储实例
2018/01/19 Python
python实现自主查询实时天气
2018/06/22 Python
用python实现刷点击率的示例代码
2019/02/21 Python
python系列 文件操作的代码
2019/10/06 Python
使用CSS媒体查询(Media Queries)和JavaScript判断浏览器设备类型的方法
2014/04/03 HTML / CSS
Bandier官网:奢侈、时尚前卫的健身服装首选目的地
2020/07/05 全球购物
PHP开发工程师面试问题集锦
2012/11/01 面试题
PHP高级工程师面试问题推荐
2013/01/18 面试题
shell程序如何生命变量?shell变量是弱变量吗?
2014/11/10 面试题
总裁办公室主任职责
2014/01/02 职场文书
中职生求职信
2014/07/01 职场文书
python基础详解之if循环语句
2021/04/24 Python
总结一些Java常用的加密算法
2021/06/11 Java/Android
解析redis hash应用场景和常用命令
2021/08/04 Redis