【发布时间】:2011-11-19 18:13:37
【问题描述】:
我正在为不同的 vieqport 或设备宽度定义多个 CSS 媒体查询...
所以我的问题是 2 个 CSS 媒体查询定义块是否可以重叠或仅应用第一个匹配项。它是如何工作的?
另外申请多个设备的正确方法是什么..我的意思是定义的顺序?
【问题讨论】:
标签: iphone ipad css media-queries
我正在为不同的 vieqport 或设备宽度定义多个 CSS 媒体查询...
所以我的问题是 2 个 CSS 媒体查询定义块是否可以重叠或仅应用第一个匹配项。它是如何工作的?
另外申请多个设备的正确方法是什么..我的意思是定义的顺序?
【问题讨论】:
标签: iphone ipad css media-queries
您可以在一个逗号分隔的列表中组合多个媒体查询;如果 列表中的任何媒体查询为真,关联样式 应用表。这相当于逻辑“或”运算。
https://developer.mozilla.org/en/CSS/Media_queries
所以
这相当于逻辑“或”运算
使它看起来只应用了一个匹配项。
http://reference.sitepoint.com/css/mediaqueries 似乎也证实了这一点。
如果这是真的(并且未经我测试),那么无论匹配什么媒体查询,我都会创建一个通用样式表来提供所有通用样式,然后为每个目标设备提供与设备无关的样式表以及其他样式。
【讨论】:
div#foo 和 #foo 都匹配同一个元素一样。否则,您的回答对我来说似乎很合理,所以+1。
这很奇怪。如果你写:
<link media="screen and (max-width: 1250px)" href="/css/small.css" type="text/css" rel="stylesheet" />
<link media="screen and (max-height: 850px)" href="/css/small.css" type="text/css" rel="stylesheet" />
它的作用类似于 XOR(有 2 个样式表)。如果两个条件都满足(宽度
<link media="screen and (max-width: 1250px), screen and (max-height: 850px)" href="/css/small.css" type="text/css" rel="stylesheet" />
它工作正常。所以逗号是一切的解决方案。
【讨论】: