我正尝试在css中的所有移动设备上选取方向,并在方向更改上触发一些css。Windows Phone 8:CSS方向不被识别
这是代码的一个简单的测试:
<div class="orientation">
<span class="landscape">Landscape</span>
<span class="portrait">Portrait</span>
</div>
和CSS是:
.portrait, .landscape {
position: absolute;
top: 0px;
left: 0px;
}
.portrait {display: block;}
.landscape {display: none;}
@media screen and (orientation:landscape) {
.portrait {display: none;}
.landscape {display: block;}
}
现在在所有的WebKit浏览器(安卓,IOS),甚至台式机正常工作(巴几个设备),但在新的Windows Phone 8设备中,它并没有采取变化。 (诺基亚Lumia 920)
我也有看一些JavaScript资源(我没有JavaScript的奇才虽然)即:
- http://www.developria.com/2010/08/detecting-screen-orientation-i.html
- http://davidwalsh.name/orientation-change
但是,从我可以告诉,这仍然不适用于Windows Phone 8设备?
是否有一个特定的MS CSS代码,我需要使用还是有另一种方式来做到这一点?如果有跨浏览器/跨移动设备的JavaScript片段可以接受更改,并且只需将变体添加到主体标签,那就太棒了。
任何帮助将不胜感激。 谢谢!
作为一个测试,你可以添加一段JavaScript,只是做'警报(window.orientation);'来看看景观和方向之间是否有区别。但它忽视媒体查询的事实是令人讨厌的。 –
它绝对是。我确实发现了一些关于媒体查询的其他信息,看起来8号窗口支持: '@media(-ms-view-state:fullscreen-landscape)' '@media(-ms-view-state:filled)' 不知道它是否只适用于使用JS和CSS构建的地铁应用程序,或者如果它的内容也适用于普通网站。 也不知道如果Windows Phone 8支持这一点。现在仍在测试。 – Arathol
好吧,很显然,我前面提到的那些“ms-view-state”媒体查询仅适用于Windows 8应用程序。 – Arathol