!
也想出现在这里? 联系我们
广告位

CSS3判断横屏竖屏方式(三种)

很多时候,为了让手机版横竖屏时有一个理想的效果,我们都需要通过判断区间来设定相应的 css 样式,现在的 CSS3 推出了一个可以判断手机横竖屏的媒体查询。在做移动端页面的时候经常会遇到需要判断横屏还是竖屏,下面将目前已知的通过 HTML,CSS,JS 三种判断方法记录下来,方便以后翻阅。
1、通过在 html 中分别引用横屏和竖屏的样式:

  1. <link rel="stylesheet" media="all and (orientation:portrait)" href="portrait.css" rel="external nofollow" > //引用竖屏的CSS
  2. <link rel="stylesheet" media="all and (orientation:landscape)" href="landscape.css" rel="external nofollow" > //引用横屏的CSS

2、CSS 中通过媒体查询的方法来判断:

  1. @media (orientation: portrait ){
  2. //竖屏CSS
  3. }
  4. @media ( orientation: landscape ){
  5. //横屏CSS
  6. }

3、js 判断是否为横屏竖屏:

  1. window.addEventListener("onorientationchange" in window ? "orientationchange" : "resize", function() {
  2. if (window.orientation === 180 || window.orientation === 0) {
  3. alert('竖屏状态!');
  4. }
  5. if (window.orientation === 90 || window.orientation === -90 ){
  6. alert('横屏状态!');
  7. }
  8. }, false);

只要用户改变了设备的查看模式,就会触发 onorientationchange 事件。

orientation 有 4 个值:0,90,-90,180

值为 0 和 180 的时候为竖屏(180 为倒过来的竖屏);

90 和-90 时为横屏(-90 为倒过来的竖屏模式);
在 ipad、iphone 网页开发中,我们很可能需要判断是横屏或者竖屏。Android 和 IOS 刚好相反,下面介绍如何用 jQuery 判断 iPad、iPhone、Android 是横屏还是竖屏的方法

  1. function orient() {
  2. if (window.orientation == 90 || window.orientation == -90) {
  3. //ipad、iphone竖屏;Andriod横屏
  4. $("body").attr("class", "landscape");
  5. orientation = 'landscape';
  6. return false;
  7. }
  8. else if (window.orientation == 0 || window.orientation == 180) {
  9. //ipad、iphone横屏;Andriod竖屏
  10. $("body").attr("class", "portrait");
  11. orientation = 'portrait';
  12. return false;
  13. }
  14. }
  15. //页面加载时调用
  16. $(function(){
  17. orient();
  18. });
  19. //用户变化屏幕方向时调用
  20. $(window).bind( 'orientationchange', function(e){
  21. orient();
  22. });

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

ipad: 90 或 -90 横屏

ipad: 0 或 180 竖屏

Andriod:0 或 180 横屏

Andriod: 90 或 -90 竖屏

给TA打赏
共{{data.count}}人
人已打赏
前端学习

CSS样式表中样式覆盖优先顺序

2024-11-15 11:09:49

前端学习

苹果手机将网站添加到主屏幕上的方法

2024-11-15 11:09:57

下载说明

  • 1、微码盒所提供的压缩包若无特别说明,解压密码均为weimahe.com
  • 2、下载后文件若为压缩包格式,请安装7Z软件或者其它压缩软件进行解压;
  • 3、文件比较大的时候,建议使用下载工具进行下载,浏览器下载有时候会自动中断,导致下载错误;
  • 4、资源可能会由于内容问题被和谐,导致下载链接不可用,遇到此问题,请到文章页面进行反馈,以便微码盒及时进行更新;
  • 5、其他下载问题请自行搜索教程,这里不一一讲解。

站长声明

本站大部分下载资源收集于网络,只做学习和交流使用,版权归原作者所有;若为付费资源,请在下载后24小时之内自觉删除;若作商业用途,请到原网站购买;由于未及时购买和付费发生的侵权行为,与本站无关。本站发布的内容若侵犯到您的权益,请联系本站删除,我们将及时处理!
0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索