Html 网站响应性在firefox中表现良好,但在手机中表现不好?

Html 网站响应性在firefox中表现良好,但在手机中表现不好?,html,css,media-queries,Html,Css,Media Queries,我搞不懂这个问题。我找了很多,之后。我是来帮忙的,所以请大家帮帮我。以下是我使用的HTML: <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=0"> 请帮助我找出问题所在。如果您没有为不同的媒体定义css属性,您希望浏览器如何呈现它 例如,您需要: @media only screen and (ma

我搞不懂这个问题。我找了很多,之后。我是来帮忙的,所以请大家帮帮我。以下是我使用的HTML:

     <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1,          user-scalable=0">

请帮助我找出问题所在。

如果您没有为不同的媒体定义css属性,您希望浏览器如何呈现它

例如,您需要:

   @media only screen and (max-width: 480px) { 
   #header
     {
     width:100%
     background:red;
      }


    }
这在

现在我试着解释一下……)

对于要应用这些样式的
max width
500px
的窗口。在大多数情况下,在这种尺寸下,你会谈论任何比桌面屏幕小的东西

@media screen and (max-width:500px)
对于具有
屏幕
最大宽度
500px
的窗口的设备,应用样式。这与上述内容几乎相同,只是您指定的是
屏幕
,而最常见的另一个是
打印

@media only screen and (max-width:500px)
这里有一个来自W3C的直截了当的例子来解释这一点

关键字“
only
”也可用于对较旧的用户代理隐藏样式表。用户代理必须处理以“only”开头的媒体查询,就像“only”关键字不存在一样

由于没有像“
only
”这样的媒体类型,旧浏览器应该忽略样式表


我试着把从网上收集的更多信息放在这里

If
这就是媒体查询:逻辑if语句。“如果”这些关于浏览器的事情是真的,那么使用里面的CSS

And
关键字和

@media (min-width: 600px) and (max-width: 800px) {
  html { background: red; }
}

Or
逗号分隔

@media (max-width: 600px), (min-width: 800px) {
  html { background: red; }
}
从技术上讲,这些被视为独立的媒体查询,但这实际上是和或

Not
使用关键字not反转逻辑

@media not all and (max-width: 600px) {
  html { background: red; }
}
只是不做(最大宽度:600px)似乎对我不起作用,因此上面的语法有点时髦。也许有人能给我解释一下。请注意,这不仅适用于当前媒体查询,因此如果使用逗号分隔,它只会影响其所在的媒体查询。还请注意,not将整个媒体查询的逻辑作为一个整体反转,而不是反转其各个部分。非x和y=非(x和y)≠ (不是x)和y

独家

要确保一次只执行一个媒体查询,请输入可能的数字(或任何数字)。用这种方式在精神上管理他们可能更容易

@media (max-width: 400px) {
  html { background: red; }
}
@media (min-width: 401px) and (max-width: 800px) {
  html { background: green; }
}
@media (min-width: 801px) {
  html { background: blue; }
}
从逻辑上讲,这有点像switch语句,只是没有一个简单的方法来执行“如果这些匹配项都不执行此操作”,就像默认值一样

覆盖

没有什么可以阻止多个媒体查询同时为真。在某些情况下,使用此选项可能比使它们都具有排他性更有效

@media (min-width: 400px) {
  html { background: red; }
}
@media (min-width: 600px) {
  html { background: green; }
}
@media (min-width: 800px) {
  html { background: blue; }
}
媒体查询对其包含的选择器没有特殊性,但源顺序仍然很重要。以上操作将起作用,因为它们的顺序正确。交换这个顺序,当浏览器窗口宽度超过800px时,背景将是红色的,也许是好奇的

移动优先

您的小屏幕样式在常规屏幕CSS中,然后随着屏幕变大,您将覆盖您需要的内容。因此,一般来说,最小宽度的媒体查询

html { background: red; }

@media (min-width: 600px) {
  html { background: green; }
}
html { background: red; }

@media (max-width: 600px) {
  html { background: green; }
}
桌面优先

您的大屏幕样式在常规屏幕CSS中,然后随着屏幕变小,您将覆盖所需的内容。因此,一般来说,最大宽度媒体查询

html { background: red; }

@media (min-width: 600px) {
  html { background: green; }
}
html { background: red; }

@media (max-width: 600px) {
  html { background: green; }
}
你可以想怎么复杂就怎么复杂

@media 
  only screen and (min-width: 100px),
  not all and (min-width: 100px),
  not print and (min-height: 100px),
  (color),
  (min-height: 100px) and (max-height: 1000px),
  handheld and (orientation: landscape)
{
  html { background: red; }
}
注意,唯一的关键字是为了防止非媒体查询支持的浏览器不加载样式表或使用样式。不知道那曾经/现在有多有用


来源:

那么你能把你的css或媒体查询粘贴到这里吗?事实上,整个网站的行数太多了…….firefox显示得很好,但chrome手机屏幕(320480px)显示得不好,手机屏幕也显示得很像如果所有东西都坏了。我确信如果你使用上面的代码,我为你制作的启动代码会起作用,我可以,您的查询在1024px之前运行良好,但在1024px之后,它们甚至都不适用于检查您输入1023px-768px的代码?它们与1024px-1399px不同吗?我已经为不同的屏幕尺寸定义了css,firefox正在正确地显示所有内容,但在移动设备中,所有内容看起来都已损坏。您可以将css放置在此处,以便我们看到导致此问题的原因吗?我已将css放置在上面,请参见
html { background: red; }

@media (min-width: 600px) {
  html { background: green; }
}
html { background: red; }

@media (max-width: 600px) {
  html { background: green; }
}
@media 
  only screen and (min-width: 100px),
  not all and (min-width: 100px),
  not print and (min-height: 100px),
  (color),
  (min-height: 100px) and (max-height: 1000px),
  handheld and (orientation: landscape)
{
  html { background: red; }
}