使用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盒子模型详解
Apr 24 HTML / CSS
CSS3的常见transformation图形变化用法小结
May 13 HTML / CSS
CSS中的字体大小设置属性总结
May 24 HTML / CSS
HTML5标签与HTML4标签的区别示例介绍
Jul 18 HTML / CSS
HTML5 embed 标签使用方法介绍
Aug 13 HTML / CSS
html5菜单折纸效果
Apr 22 HTML / CSS
微信浏览器取消缓存的方法
Mar 28 HTML / CSS
HTML5微信播放全屏问题的解决方法
Mar 09 HTML / CSS
LocalStorage记住用户和密码功能
Jul 24 HTML / CSS
详解HTML5 data-* 自定义属性
Jan 24 HTML / CSS
canvas如何实现多张图片编辑的图片编辑器
Mar 10 HTML / CSS
CSS 制作波浪效果的思路
May 18 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
PHP基于单例模式实现的mysql类
2016/01/09 PHP
解决windows上php xdebug 无法调试的问题
2020/02/19 PHP
javascript 火狐(firefox)不显示本地图片问题解决
2008/07/05 Javascript
javawscript 三级菜单的实现原理
2009/07/01 Javascript
JavaScript为对象原型prototype添加属性的两种方式
2010/08/01 Javascript
jQuery之$(document).ready()使用介绍
2012/04/05 Javascript
尝试在让script的type属性等于text/html
2013/01/15 Javascript
EditPlus注册码生成器(js代码实现)
2013/03/25 Javascript
关于JavaScript中的关联数组分析
2013/04/09 Javascript
不使用浏览器运行javascript代码的方法
2013/07/24 Javascript
javascript文件中引用依赖的js文件的方法
2014/03/17 Javascript
jQuery 常用代码集锦(必看篇)
2016/05/16 Javascript
Vue.js第四天学习笔记
2016/12/02 Javascript
vue-router权限控制(简单方式)
2018/10/29 Javascript
vue 实现cli3.0中使用proxy进行代理转发
2019/10/30 Javascript
[52:41]OG vs IG 2018国际邀请赛小组赛BO2 第二场 8.18
2018/08/20 DOTA
Django框架设置cookies与获取cookies操作详解
2019/05/27 Python
keras使用Sequence类调用大规模数据集进行训练的实现
2020/06/22 Python
Python Unittest原理及基本使用方法
2020/11/06 Python
python中str内置函数用法总结
2020/12/27 Python
详解使用canvas保存网页为pdf文件支持跨域
2018/11/23 HTML / CSS
英国天然有机美容护肤品:Neal’s Yard Remedies
2018/05/05 全球购物
婚鞋、新娘鞋、礼服鞋、童鞋:Nina Shoes
2019/09/04 全球购物
MVC的各个部分都有那些技术来实现?如何实现?
2016/04/21 面试题
大学生村官演讲稿
2014/04/25 职场文书
空气环保标语
2014/06/12 职场文书
学校领导四风问题整改措施思想汇报
2014/10/09 职场文书
2014保险公司内勤工作总结
2014/12/16 职场文书
出租车拒载检讨书
2015/01/28 职场文书
研究生导师推荐信
2015/03/25 职场文书
瞿秋白纪念馆观后感
2015/06/10 职场文书
2016年教师节感言
2015/12/09 职场文书
入团申请书格式
2019/06/20 职场文书
实习报告范文之电话客服岗位
2019/07/26 职场文书
redis哨兵常用命令和监控示例详解
2021/05/27 Redis
Mysql数据库按时间点恢复实战记录
2021/06/30 MySQL