在移动端中咱们常常碰到横屏竖屏的问题,那么咱们应该如何去判断或者针对横屏、竖屏来写不一样的代码呢。javascript
这里有两种方法:css
写在同一个CSS中html
1
2
3
4
5
6
|
@media
screen
and (orientation:
portrait
) {
/*竖屏 css*/
}
@media
screen
and (orientation:
landscape
) {
/*横屏 css*/
}
|
分开写在2个CSS中java
竖屏浏览器
1
|
<
link
rel="stylesheet" media="all and (orientation:portrait)" href="portrait.css">
|
横屏iphone
1
|
<
link
rel="stylesheet" media="all and (orientation:landscape)" href="landscape.css">
|
1
2
3
4
5
6
7
8
9
10
|
//判断手机横竖屏状态:
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 竖屏post