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显示隐藏一个div特效的具体实现
Feb 10 HTML / CSS
使用CSS3的背景渐变Text Gradient 创建文字颜色渐变
Aug 19 HTML / CSS
详解CSS3的图层阴影和文字阴影效果使用
Jun 09 HTML / CSS
CSS3绘制六边形的简单实现
Aug 25 HTML / CSS
CSS3制作3D立方体loading特效
Nov 09 HTML / CSS
html5 touch事件实现触屏页面上下滑动(二)
Mar 10 HTML / CSS
html5 web本地存储将取代我们的cookie
Dec 26 HTML / CSS
html5 worker 实例(一) 为什么测试不到效果
Jun 24 HTML / CSS
使用HTML5中的contentEditable来将多行文本自动增高
Mar 01 HTML / CSS
12个不为大家熟知的HTML5设计小技巧
Jun 02 HTML / CSS
HTML5 3D旋转相册的实现示例
Dec 03 HTML / CSS
canvas实现手机的手势解锁的步骤详细
Mar 16 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
十天学会php之第九天
2006/10/09 PHP
PHP中异常处理的一些方法整理
2015/07/03 PHP
改变文件域的样式实现思路同时兼容ie、firefox
2013/10/23 Javascript
JS获取当前日期时间并定时刷新示例
2021/03/04 Javascript
bootstrap table服务端实现分页效果
2017/08/10 Javascript
js使用html2canvas实现屏幕截取的示例代码
2017/08/28 Javascript
BootStrap中的模态框(modal,弹出层)功能示例代码
2018/11/02 Javascript
vue+iview动态渲染表格详解
2019/03/19 Javascript
深入浅出 Vue 系列 -- 数据劫持实现原理
2019/04/23 Javascript
Angular如何由模板生成DOM树的方法
2019/12/23 Javascript
Vue 401配合Vuex防止多次弹框的案例
2020/11/11 Javascript
python中pygame模块用法实例
2014/10/09 Python
Python提示[Errno 32]Broken pipe导致线程crash错误解决方法
2014/11/19 Python
Python接收Gmail新邮件并发送到gtalk的方法
2015/03/10 Python
Python中字典映射类型的学习教程
2015/08/20 Python
深入理解Python3中的http.client模块
2017/03/29 Python
python 中split 和 strip的实例详解
2017/07/12 Python
Python二叉树的定义及常用遍历算法分析
2017/11/24 Python
python调用其他文件函数或类的示例
2019/07/16 Python
python 两个数据库postgresql对比
2019/10/21 Python
python 画函数曲线示例
2019/12/04 Python
Python简单实现区域生长方式
2020/01/16 Python
python 中的[:-1]和[::-1]的具体使用
2020/02/13 Python
使用python绘制cdf的多种实现方法
2020/02/25 Python
怎么快速自学python
2020/06/22 Python
Python优秀开源项目Rich源码解析的流程分析
2020/07/06 Python
Django框架请求生命周期实现原理
2020/11/13 Python
pycharm进入时每次都是insert模式的解决方式
2021/02/05 Python
制衣厂各岗位职责
2013/12/02 职场文书
同居协议书范本
2014/04/23 职场文书
建筑节能汇报材料
2014/08/22 职场文书
2014年创先争优工作总结
2014/12/11 职场文书
2016年教育局“我们的节日——端午节”主题活动总结
2016/04/01 职场文书
CSS实现五种常用的2D转换
2021/12/06 HTML / CSS
vue配置型表格基于el-table拓展之table-plus组件
2022/04/12 Vue.js
nginx 添加http_stub_status_module模块
2022/05/25 Servers