使用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垂直手风琴菜单
Jun 28 HTML / CSS
CSS3弹性布局内容对齐(justify-content)属性使用详解
Jul 31 HTML / CSS
CSS3弹性盒模型开发笔记(二)
Apr 26 HTML / CSS
HTML5 File API改善网页上传功能
Aug 19 HTML / CSS
基于HTML5 FileSystem API的使用介绍
Apr 24 HTML / CSS
html5使用canvas绘制太阳系效果
Dec 15 HTML / CSS
HTML5 解决苹果手机不能自动播放音乐问题
Dec 27 HTML / CSS
使用Html5中的cavas画一面国旗
Sep 25 HTML / CSS
html5移动端禁止长按图片保存的实现
Apr 20 HTML / CSS
详解CSS不受控制的position fixed
May 25 HTML / CSS
bootstrapv4轮播图去除两侧阴影及线框的方法
Feb 15 HTML / CSS
css样式important规则的正确使用方式
Jun 10 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
中国第一家无线电行
2021/03/01 无线电
php上传、管理照片示例
2006/10/09 PHP
一步一步学习PHP(3) php 函数
2010/02/15 PHP
PHP通过iconv将字符串从GBK转换为UTF8字符集
2011/07/18 PHP
PHP setcookie指定domain参数后,在IE下设置cookie失效的解决方法
2011/09/09 PHP
用mysql_fetch_array()获取当前行数据的方法详解
2013/06/05 PHP
php自定义apk安装包实例
2014/10/20 PHP
扩展String功能方法
2006/09/22 Javascript
犀利的js 函数集合
2009/06/11 Javascript
解析Javascript中大括号“{}”的多义性
2013/12/02 Javascript
JavaScript处理解析JSON数据过程详解
2015/09/11 Javascript
javascript实现dom元素可拖动
2016/03/21 Javascript
JavaScript中的对象和原型(一)
2016/08/12 Javascript
Vue.js组件tabs实现选项卡切换效果
2016/12/01 Javascript
Bootstrap进度条学习使用
2017/02/09 Javascript
随机生成10个不重复的0-100的数字(实例讲解)
2017/08/16 Javascript
JS Testing Properties 判断属性是否在对象里的方法
2017/10/01 Javascript
vue自定义js图片碎片轮播图切换效果的实现代码
2019/04/28 Javascript
基于Bootstrap和JQuery实现动态打开和关闭tab页的实例代码
2019/06/10 jQuery
ant-design-vue按需加载的坑的解决
2020/05/14 Javascript
three.js 实现露珠滴落动画效果的示例代码
2021/03/01 Javascript
Python检测字符串中是否包含某字符集合中的字符
2015/05/21 Python
Python实现购物车功能的方法分析
2017/11/10 Python
python+django加载静态网页模板解析
2017/12/12 Python
pandas.DataFrame.to_json按行转json的方法
2018/06/05 Python
Python3.5装饰器原理及应用实例详解
2019/04/30 Python
HTML5 实战PHP之Web页面表单设计
2011/10/09 HTML / CSS
HTML5中indexedDB 数据库的使用实例
2017/05/11 HTML / CSS
美国在线眼镜商城:Eyeglasses.com
2017/06/26 全球购物
锐步香港官方网上商店:Reebok香港
2020/11/05 全球购物
Python里面如何实现tuple和list的转换
2012/06/13 面试题
UNIX命令速查表
2012/03/10 面试题
普通大学毕业生自荐信
2013/11/04 职场文书
应届大学生求职的自我评价
2013/11/17 职场文书
有趣的广告词
2014/03/18 职场文书
写作技巧:如何撰写一份优秀的营销策划书
2019/08/13 职场文书