使用css3匹配手机屏幕横竖状态


Posted in HTML / CSS onJanuary 27, 2014

@media是css3中新定义的,功能非常强大,顾名思义PC是无法匹配横竖屏的,所以orientation只对移动设备起效。

1.头部声明

复制代码
代码如下:

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

加到

复制代码
代码如下:

<head></head>

2. media匹配屏幕是横屏还是竖屏

复制代码
代码如下:

@media all and (orientation : landscape) { </p> <p>/*

这是匹配横屏的状态,横屏时的css代码

*/
body {
background-color: #ff0000;
}
}
@media all and (orientation : portrait){ </p> <p>/*

这是匹配竖屏的状态,竖屏时的css代码

*/
body {
background-color: #00ff00;
}
}

3. 应用的地方

(1)手机WEB页面元素内容一般都是通过百分比定义的,以便能够在不同分辨率设备下都能正常显示,虽然这样,但是移动设备的屏幕分辨率宽度和高度相差还是很大,同样的页面在屏幕翻转过来时可能百分比定义的元素宽度会变得非常大,这样就会失去页面的美观性,这样,如果用orientation匹配屏幕的翻转状态,就可以写不同的css加以控制页面样式。

(2)对于有背景图的移动WEB页面,可以根据orientation匹配屏幕屏幕状态,设置不同的background。

(3)稍微有技术的一点:某些有绝对定位元素的WEB页面,将某元素定位到页面底部,当屏幕是竖屏状态时,可能因为页面总长度小于屏幕高度(但是大于屏幕宽度),这时将绝对定位元素定位到底部是正确的,但是当屏幕翻转成为横屏时,此时因为页面内容高度大于屏幕高度(就是未翻转时屏幕宽度),绝对定位元素会覆盖在页面内容之上,导致页面出现问题,这时可用orientation匹配屏幕状态,调整css代码。

关于匹配屏幕横竖屏状态还可通过JS判断,js中onorientationchange是window的一个事件,可以通过监听事件匹配屏幕横竖屏。

HTML / CSS 相关文章推荐
使用CSS3来匹配横屏竖屏的简单方法
Aug 04 HTML / CSS
浅谈CSS3 动画卡顿解决方案
Jan 02 HTML / CSS
css3实现书本翻页效果的示例代码
Mar 08 HTML / CSS
HTML5等待加载动画效果
Jul 27 HTML / CSS
HTML中fieldset标签概述及使用方法
Feb 01 HTML / CSS
详解HTML5中rel属性的prefetch预加载功能使用
May 06 HTML / CSS
Canvas 像素处理之改变透明度的实现代码
Jan 08 HTML / CSS
html5 canvas实现给图片添加平铺水印
Aug 20 HTML / CSS
通过canvas转换颜色为RGBA格式及性能问题的解决
Nov 22 HTML / CSS
html5 canvas手势解锁源码分享
Jan 07 HTML / CSS
AmazeUI图片轮播效果的示例代码
Aug 20 HTML / CSS
Canvas波浪花环的示例代码
Aug 21 HTML / CSS
css3教程之倾斜页面
Jan 27 #HTML / CSS
使用css3制作动感导航条示例
Jan 26 #HTML / CSS
带有css3动画效果的兼容多浏览器简单导航条示例
Jan 26 #HTML / CSS
css3实现的下拉菜单效果示例
Jan 22 #HTML / CSS
css图标制作教程制作云图标
Jan 19 #HTML / CSS
使用简单的CSS3属性实现炫酷读者墙效果
Jan 08 #HTML / CSS
CSS3 Flexbox中flex-shrink属性的用法示例介绍
Dec 30 #HTML / CSS
You might like
对text数据类型不支持代码页转换 从: 1252 到: 936
2011/04/23 PHP
PHP将Excel导入数据库及数据库数据导出至Excel的方法
2015/06/24 PHP
求帮忙修改个php curl模拟post请求内容后并下载文件的解决思路
2015/09/20 PHP
PHP SFTP实现上传下载功能
2017/07/26 PHP
js中this的用法实例分析
2015/01/10 Javascript
javascript实现根据iphone屏幕方向调用不同样式表的方法
2015/07/13 Javascript
Vuejs第十篇之vuejs父子组件通信
2016/09/06 Javascript
bootstrap datepicker限定可选时间范围实现方法
2016/09/28 Javascript
bootstrap表格分页实例讲解
2016/12/30 Javascript
javascript实现页面滚屏效果
2017/01/17 Javascript
Javascript封装id、class与元素选择器方法示例
2017/03/13 Javascript
JS实现颜色的10进制转化成rgba格式的方法
2017/09/04 Javascript
js实现会跳动的日历效果(完整实例)
2017/10/18 Javascript
一步步教你利用webpack如何搭一个vue脚手架(超详细讲解和注释)
2018/01/08 Javascript
vuejs中监听窗口关闭和窗口刷新事件的方法
2018/09/21 Javascript
JavaScript链式调用实例浅析
2018/12/19 Javascript
jquery实现弹窗(系统提示框)效果
2019/12/10 jQuery
[03:37]2015国际邀请赛第四日现场精彩集锦
2015/08/08 DOTA
用python + hadoop streaming 分布式编程(一) -- 原理介绍,样例程序与本地调试
2014/07/14 Python
python中matplotlib实现最小二乘法拟合的过程详解
2017/07/11 Python
Python数据结构与算法之图结构(Graph)实例分析
2017/09/05 Python
Python可变和不可变、类的私有属性实例分析
2019/05/31 Python
利用Python实现Shp格式向GeoJSON的转换方法
2019/07/09 Python
关于pymysql模块的使用以及代码详解
2019/09/01 Python
利用Python产生加密表和解密表的实现方法
2019/10/15 Python
Python变量作用域LEGB用法解析
2020/02/04 Python
Python matplotlib实时画图案例
2020/04/23 Python
解决html5中video标签无法播放mp4问题的办法
2017/05/07 HTML / CSS
StubHub美国:购买或出售您的门票
2019/07/09 全球购物
Edwaybuy西班牙:小米在线商店
2019/12/04 全球购物
会计实习期自我鉴定
2013/10/06 职场文书
求职简历中个人的自我评价
2013/12/25 职场文书
房地产开盘策划方案
2014/02/10 职场文书
个人融资协议书
2014/10/02 职场文书
配置nginx 重定向到系统维护页面
2021/06/08 Servers
浅析Django接口版本控制
2021/06/26 Python