• 移动端判断手机横竖屏状态


    禁用用户自动缩放功能:

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

    判断横竖屏状态有两种方法:css判断、js判断

    (一)、css判断横屏还是竖屏

    1、写在同一个css文件中
    @media screen and (orientation: portrait) {
      /*竖屏 css*/
    } 
    @media screen and (orientation: landscape) {
      /*横屏 css*/
    }

    根据横竖屏设置大小时,正常页面尺寸常规书写即可,横屏样式单独设置。即只需在原有样式基础上添加横屏样式即可,

    @media screen and (orientation: landscape) {
      /*横屏 css*/
    }
    当用户横屏时加载横屏样式,竖屏时取消横屏样式即加载默认样式。

    2、分开写在两个css中,根据横竖屏引用不同样式文件:

        根据横竖屏引用不同样式文件

    横屏:

    <link rel="stylesheet" media="all and (orientation:landscape)" href="landscape.css">

    竖屏:

    <link rel="stylesheet" media="all and (orientation:portrait)" href="portrait.css">

    备注:css判断横竖屏是时时的可无缝衔接,即横屏加载横屏样式,竖屏加载竖屏样式,

    (二)js判断横屏还是竖屏

    //判断手机横竖屏状态:
        window.addEventListener("onorientationchange" in window ? "orientationchange" : "resize", function() {
            if (window.orientation === 180 || window.orientation === 0) { 
                console.log("竖屏");
                $(".codeIg_s").removeClass('vercreen');//取消横屏样式
            } 
            if (window.orientation === 90 || window.orientation === -90 ){ 
                console.log("横屏");
                $(".codeIg_s").addClass('vercreen');//添加横屏样式
            }  
        }, false); 

    备注:横屏样式在vercreen类名下修改原默认样式,可正常使用,缺点是必须有横竖屏的切换状态才会触发。

    如果用户默认是横屏状态时不会触发横屏条件判断,只有用户从横屏转为竖屏或者从竖屏转为横屏时才会触发相应条件判断。

    没有切换状态时会不执行任何条件判断,此处不如css判断横竖屏全面。

  • 相关阅读:
    Photoshop给草坡上的人物加上大气的霞光
    Photoshop给人像加上个性裂纹肌肤
    Photoshop快速给美女人像换头发
    Oracle和SQLite位数不足补0
    Oracle和Postgis数据库地理坐标系下面积计算
    SQLite3中自增主键归零方法
    Arcgis-Tools_06矢量数据按国土分解
    Arcgis-Issues_03Arcgis最佳路径分析
    Arcgis-Tools_05批量导出地图
    Oracle_C#连接Oracle数据库
  • 原文地址:https://www.cnblogs.com/cdj61/p/9342041.html
Copyright © 2020-2023  润新知