CSS 媒体查询否定

标签 css media-queries

<分区>

我想将此条件转换为 CSS 媒体查询:

if(min-device-width != 768px && max-device-width != 1024px && max-width == 1200px) {
   // apply CSS
}

编辑:

实际上我想在这种情况下定位 Ipad:

if((min-device-width != 768px && max-device-width != 1024px && max-width == 1200px) 
|| (min-device-width == 768px && max-device-width == 1024px && orientation == 'portrait')) {
       // apply CSS
}

因此,如果它是任何设备且当前宽度 < 1200 像素,或者如果它是 Ipad(因此是最小/最大设备宽度)并且处于纵向模式,则应应用 CSS。

谢谢!

最佳答案

@media screen (max-device-width: 1200px) and (orientation: portrait) {
    // apply CSS
}

  @media screen and (min-width: 768px) , (max-width: 1024px), (orientation: portrait) {
  ...
}

我认为您完全跳过了 max-device-width != 1024px 的部分,因为它的分辨率低于 1200px 并且属于该类别。这完全取决于您的目标屏幕尺寸。

我认为这个问题很好地解释了如何在同一个查询中同时使用 minmaxExample Question

<强>1。 AND(和关键字)

要求在样式规则生效之前必须满足指定的所有条件。

@media screen and (min-width: 700px) and (orientation: landscape) { ... }

除非以下所有条件都为真,否则指定的样式规则不会生效:

媒体类型是'screen'并且 视口(viewport)至少有 700 像素宽并且 屏幕方向当前为横向。 注意:我相信这三个特征查询一起使用可以构成一个媒体查询。

<强>2。 OR(逗号分隔列表)

逗号分隔的列表不是 or 关键字,而是用于将多个媒体查询链接在一起以形成更复杂的媒体规则

@media handheld, (min-width: 650px), (orientation: landscape) { ... }

指定的样式规则将在任何一个媒体查询评估为真时生效:

媒体类型是“手持式”或 视口(viewport)至少有 650 像素宽或 屏幕方向当前为横向。

<强>3。 NOT(不是关键字)

not 关键字可用于否定单个媒体查询(而非完整的媒体规则——这意味着它仅否定一组逗号之间的条目,而不是@media 声明后的完整媒体规则)。

同样,请注意 not 关键字否定媒体查询,它不能用于否定媒体查询中的单个特征查询。*

@media not screen and (min-resolution: 300dpi), (min-width: 800px) { ... }

此处指定的样式将在以下条件下生效

媒体类型和最小分辨率都不符合他们的要求(分别为“屏幕”和“300dpi”)或 视口(viewport)至少有 800 像素宽。 换句话说,如果媒体类型为“屏幕”且最小分辨率为 300 dpi,则除非视口(viewport)的最小宽度至少为 800 像素,否则规则不会生效。

(not 关键字可能有点古怪。如果我能做得更好,请告诉我。;)

<强>4。 ONLY(唯一关键字)

据我了解,唯一关键字用于防止旧浏览器将较新的媒体查询误解为较早使用的较窄的媒体类型。如果使用得当,旧版/不兼容的浏览器应该完全忽略样式。

旧的/不兼容的浏览器会完全忽略这行代码,我相信它会读取唯一的关键字并将其视为不正确的媒体类型。 (有关更聪明的人的更多信息,请参见此处和此处)

从这个答案复制并粘贴。请阅读它以获取更多信息:THIS is the original answer.

关于CSS 媒体查询否定,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46113809/

上一篇:javascript - 单击单独的 div 取消动画状态

下一篇:html - 如何在CSS div中制作圆圈?

相关文章:

css - 滚动 DIV 后 float 一个 DIV

html - 如何删除 Safari 中 HTML5 视频上方/下方的多余空间?

javascript - 将信息显示到工具提示中

css - 响应式字体媒体查询少循环

css - 在线响应式 Web 测试仪

css - float 问题

css - 在媒体查询中使用设备宽度

twitter-bootstrap - 手动更改用于打印的介质宽度

html - 在谷歌开发工具上显示媒体但不在 iphone 上

css - 100% 宽度 flexbox 内的额外边距