当前位置: 首页 > 面试题库 >

CSS媒体查询的最小宽度和最小设备宽度是否冲突?

乐正瑞
2023-03-14
问题内容

我对媒体查询世界还很陌生,很明显,宽度和设备宽度之间的差异让我遗漏了一些基本知识,除了它们明显的定位能力之外。

我想同时针对具有相同断点的常规计算机和设备,因此我只将所有最小和最大宽度查询都复制到了最小设备和最大设备宽度查询中。无论出于何种原因,当我添加-
device对应项时,常规计算机对CSS的解释都大不相同,因此我不确定自己做错了什么。

您可以在这里看到效果(这是应该的样子)

此处(在向查询添加-device-
width之后,我的CSS被固定为最小宽度-即使浏览器宽度小于调用的宽度,也可以看到较大的分辨率)。

这是我的CSS链接-我的语法有问题吗?:

<link rel="stylesheet" media="only screen and (max-width: 674px), only screen and (max-device-width: 674px)" href="300.css">
<link rel="stylesheet" media="only screen and (min-width: 675px) and (max-width: 914px), only screen and (min-device-width: 675px) and (max-device-width: 914px)" href="650.css">
<link rel="stylesheet" media="only screen and (min-width: 915px) and (max-width: 1019px), only screen and (min-device-width: 915px) and (max-device-width: 1019px)" href="915.css">


<link rel="stylesheet" media="only screen and (min-width: 1020px), only screen and (min-device-width: 1020px)" href="1020.css">
<link rel="stylesheet" media="only screen and (min-width: 1200px) and (max-width: 1299px), only screen and (min-device-width: 1200px) and (max-device-width: 1299px)" href="1200.css">
<link rel="stylesheet" media="only screen and (min-width: 1300px), only screen and (min-device-width: 1300px)" href="1300.css">

问题答案:

设备宽度是指显示器的分辨率(例如1024x768从1024x768),而宽度是指浏览器本身的宽度(如果浏览器未最大化,则与分辨率不同)。如果您的分辨率足够大,可以让您进入一个断点,但是浏览器的宽度足够小,可以使您进入另一个断点,那么您将得到两者的奇怪组合。

除非有正当的理由根据分辨率而不是视口的大小限制样式表,否则只需使用min-width/ max-width并避免使用min-device- width/ max-device-width



 类似资料:
  • 我试图根据浏览器的最小高度和最小宽度在我的页面上更改CSS,所以我使用这个: 但出于某种原因,这不起作用。我可以检查“最小高度”和“最大宽度”(反之亦然),或者同时检查“最大高度”和“最大宽度”,但检查“最小高度”和“最大宽度”似乎都不起作用。 我应该详细说明这一点:我希望浏览器在最小高度或最小宽度变为真时起作用。仅当两个条件均为真时,使用and运算符才有效。 我做错什么了吗?

  • 我已经尝试了几个小时来解决这个问题,我正在努力,不管我做什么,它拒绝在我添加max-width或min-width的瞬间调用媒体标记中的CSS。为了测试,我让media标记使主体变红,并将min-width降低到可笑的低。什么都没发生。如果我留下屏幕标记而不留下任何其他东西,它就会调用它 CSS: HTML: 请原谅代码的绝对混乱,但我还没来得及清理这个问题,就在我对这个问题失去理智之前。

  • 问题内容: 我正在考虑响应式网页设计和“移动优先”方法来重新设计我的博客-简而言之,我正在尝试使用最小宽度来避免任何形式的复制或CSS。 我的问题是,当我确实需要覆盖CSS值时,较低的最小宽度优先。例: 我希望当我在600px及更高的分辨率下会得到2.2em h2,而我会得到1.7em。这没有道理! 我可以继续使用最小宽度并在不使用更强大的选择器或最大宽度的情况下有效地覆盖更高分辨率的声明吗? 问

  • 问题内容: 编写CSS媒体查询时,有什么方法可以使用“或”逻辑指定多个条件? 我正在尝试做这样的事情: 问题答案: 使用逗号指定两个(或多个)不同的规则: 从https://developer.mozilla.org/en/CSS/Media_queries/ …此外,您可以在逗号分隔的列表中组合多个媒体查询;如果列表中的任何媒体查询为true,则将应用关联的样式表。这等效于逻辑“或”运算。

  • 问题内容: 我有这个设置: HTML : CSS : 通过此设置,它可以在iPhone上运行,但不能在浏览器中运行。 是因为我已经在meta中,也许已经在? 问题答案: 我发现最好的方法是为较旧的浏览器编写默认CSS,因为较旧的浏览器包括5.5、6、7和8。无法读取@media。当我使用@media时,我会这样使用: 但是,您可以使用@media进行任何操作,这只是为所有浏览器构建样式时最适合我的

  • 如果我调整窗口的大小小于最小宽度flex项目的总数(此处为653px),则会出现一个滚动条,但flexbox采用当前窗口的大小,并且flex项目没有红色背景,我想知道如何在不键入以下特定值的情况下为flexbox容器设置最小宽度: 我不希望收缩flex项目,但一个css的方式来获得: flexbox.min(flex_items_min_width) https://codepen.io/papa