這篇文章給大家分享的是關於如何用css和js移動端分別判斷手機橫豎屏的狀態,內容很不錯,有需要的朋友可以參考一下,希望可以幫助到大家。
<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0">
判斷橫豎螢幕狀態有兩種方法:css判斷、js判斷
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判斷橫豎螢幕是時時的可無縫銜接,即橫屏載入橫屏樣式,豎屏載入豎屏樣式,
//判断手机横竖屏状态: 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判斷橫豎螢幕全面。
相關推薦:
以上是如何用css和js移動端分別判斷手機橫豎螢幕的狀態的詳細內容。更多資訊請關注PHP中文網其他相關文章!