使布局适应不断变化的屏幕方向

时间:2012-11-21 23:42:48

标签: responsive-design

我是自适应/响应式Web开发的新手。当设备的方向改变时,我对移动设备如何处理屏幕分辨率的变化感到困惑。

如果我创建两个媒体查询 - 一个用于320(纵向),一个用于480(横向),iphone仅加载320版本,无论方向如何,只需缩放以填充屏幕。

当iphone以横向位置加载,或者当iphone从纵向倾斜到横向时,有没有办法提供新的480种风格?

2 个答案:

答案 0 :(得分:3)

首先,媒体查询具有您可能发现的属性

@media all and (orientation:portrait) { … }
@media all and (orientation:landscape) { … }

您可以通过

强制在iPhone上渲染
<meta name="viewport" content="width=device-width, minimum-scale=1.0, maximum-scale=1.0">

然后使用一些css来定位横向模式

@media screen and (min-width: 321px){
  //styles
}

答案 1 :(得分:1)

CSS媒体查询从一个设备到另一个设备的定位有点棘手。 你还有一个很好的js选项:

window.addEventListener('orientationchange', changeOrientation, false);

function changeOrientation() {
if (orientation == 0 || orientation == 180) {
  //portraitMode
}
else {
  //LandscapeMode
}