如何防止Chrome(桌面)使用媒体选择器激活纵向方向?

时间:2014-02-17 06:34:01

标签: html css html5 css3 google-chrome

我在CSS文件中定义了以下媒体选择器:

@media screen and (min-width: 600px) and (orientation: landscape),
       screen and (orientation: landscape)

这似乎与以下工作正常:

  • Safari(在桌面/ iphone / ipad上)
  • Firefox(在桌面上)
  • Internet Explorer(在桌面上)

当浏览器窗口调整到一定宽度以下时,桌面版Chrome(在我的情况下为v32)正在从横向切换到potrait。

我的印象是桌面浏览器总是风景......

有没有办法阻止Chrome执行此操作?

2 个答案:

答案 0 :(得分:0)

可以通过比较高度和宽度来确定方向。当窗口width小于其height时,方向将被视为肖像。

您可以考虑使用deviceorientation来强制进行准确检测。

此演示说明了当窗口高度高于宽度时,使用CSS方向从landscape更改为portraithttp://demo.hongkiat.com/css-orientation-styles/

答案 1 :(得分:0)

最后,我提出了一种替代解决方案,可以完全从媒体查询中删除orientation。这当然不是最理想的解决方案,因为我无法应用特定样式的纵向方向,但至少我的页面可用于我目前测试的所有设备(桌面/ iphone / ipad / kindle)。 / p>

在HTML <head>内:

<meta name="viewport" content="width=device-width, initial-scale=1.0"/>

以下选择器的行为完全符合预期,因为上面的元标记似乎考虑了像素密度。因此,我的页面在普通和视网膜设备上看起来都是正确的,同时在Chrome中继续正常运行。

@media screen and (min-width: 600px)