在移動端中我們經常碰到橫屏豎屏的問題,那麼我們應該如何去判斷或者針對橫屏、豎屏來寫不同的代碼呢。
這裡有兩種方法:
一:CSS判斷橫屏豎屏
寫在同一個CSS中
XML/HTML Code復制內容到剪貼板
- @media screen and (orientation: portrait) {
- /*豎屏 css*/
- }
- @media screen and (orientation: landscape) {
- /*橫屏 css*/
- }
分開寫在2個CSS中
豎屏
XML/HTML Code復制內容到剪貼板
- <link rel="stylesheet" media="all and (orientation:portrait)" href="portrait.css">
橫屏
XML/HTML Code復制內容到剪貼板
- <link rel="stylesheet" media="all and (orientation:landscape)" href="landscape.css">
二:JS判斷橫屏豎屏
XML/HTML Code復制內容到剪貼板
- //判斷手機橫豎屏狀態:
- window.addEventListener("onorientationchange" in window ? "orientationchange" : "resize", function() {
- if (window.orientation === 180 || window.orientation === 0) {
- alert('豎屏狀態!');
- }
- if (window.orientation === 90 || window.orientation === -90 ){
- alert('橫屏狀態!');
- }
- }, false);
//移動端的浏覽器一般都支持window.orientation這個參數,通過這個參數可以判斷出手機是處在橫屏還是豎屏狀態。
屏幕方向對應的window.orientation值:
ipad,iphone: 90 或 -90 橫屏
ipad,iphone: 0 或180 豎屏
Andriod:0 或180 橫屏
Andriod: 90 或 -90 豎屏