2013-03-03 48 views
3

我正在构建一个响应页面,但我有一个问题。
对于更大的屏幕尺寸,我想放大像标题一样的东西。这可行,但在横向模式下测试我的iPhone上的页面,标题太大。媒体查询:定位方向:景观不包括台式电脑

为什么iPhone纵向触发大屏幕媒体查询?那么,放大标题的CSS规则将包含在此媒体查询中:

@media only screen and (min-width: 30em) { 
    /* 480 pixel */ 
} 

并且横屏中的iPhone屏幕宽度为480px。所以我试图这样做:

@media only screen and (min-width: 30em) not (orientation: landscape) { 
     /* 480 pixel*/
} 

现在它适用于我的iPhone,但标题不会在我的MacBook上放大。可能这只是某种逻辑错误,但我错在哪里?

+0

'只有屏幕和(最小宽度:30em)不是(方向:风景)'不是根据规范的有效媒体查询。奇怪的是,它在iPhone上工作,但... – BoltClock 2013-03-03 17:01:16

回答

3

尝试用and (orientation:portrait)代替not (orientation:landscape)。如果失败,请尝试将em值更改为px值。有些浏览器与em不搭配,所以值得一试。

编辑:为什么不把它分解成单独的样式?

@media all and (min-width:480px) and (orientation:landscape) { 
    // styles for desktops, mouse-friendly interface 
} 

@media all and (min-width:480px) and (orientation:portrait) { 
    // styles for mobiles, touch-friendly interface 
} 
+0

没有帮助,对不起。横向媒体查询仍然在我的MacBook上触发。我相信这是因为屏幕是“宽屏”,这意味着它的宽度比较高。 – Sven 2013-03-03 16:50:49

+0

是的,那会是触发的原因。我会用另一种可能的解决方案在一分钟内更新答案。 – Jules 2013-03-03 16:53:15

+0

'@media all和(max-device-width:480px)and(orientation:landscape){* stuff * /}'做了诀窍。我会接受你的答案,因为你把我引向它! – Sven 2013-03-03 21:44:04