【问题标题】:website responsive showing good in firefox but not in mobile?网站响应在 Firefox 中显示良好但在移动设备中不显示?
【发布时间】:2014-07-29 06:01:48
【问题描述】:

我无法弄清楚这个问题。我搜索了很多,然后。我在这里寻求帮助,所以请大家帮助我。下面是我使用的 HTML:

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

这些是媒体查询

     @media all and (max-width: 1400px) { }
     @media all and (max-width: 1024px) { }
     @media only screen and (max-width: 768px) { }
     @media only screen and (max-width: 480px) { }
     @media only screen and (max-width: 320px) { }

帮我找出问题所在。

【问题讨论】:

    标签: html css media-queries


    【解决方案1】:
    @media all and (min-width: 1400px) {
    }
    
    @media all and (max-width: 1399px) and (min-width: 1024px) {
    }
    
    @media all and (max-width: 1023px) and (min-width: 768px) {
    }
    
    @media all and (max-width: 767px) and (min-width: 480px) {
    }
    
    @media all and (max-width: 479px) and (min-width: 320px) {
    }
    
    @media all and (max-width: 319px) {
    }
    

    这个在&lt;head&gt;&lt;/head&gt;

      <meta name="viewport" content="width=device-width, user-scalable=no" /> <-- user-scalable=yes if you want user to allow zoom -->
    

    将您的@media 样式更改为 // 根据您的要求更改宽度

    @media only screen (max-width: 500px) {
     // or as per your needs, as I try to explain below
    }
    

    现在我试着解释一下..:)

    @media (max-width:500px)
    

    对于具有max-width500px 的窗口,您要应用这些样式。在大多数情况下,在那个尺寸下,你会谈论比桌面屏幕更小的任何东西。

    @media screen and (max-width:500px)
    

    对于带有screen 的设备和带有max-width500px 的窗口应用该样式。这几乎与上述相同,除了您指定 screen 而不是 other media types 最常见的另一个是 print

    @media only screen and (max-width:500px)
    

    这是直接来自 W3C 的 quote 来解释这一点。

    关键字“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; }
    }
    

    只是不这样做 (max-width: 600px) 似乎对我不起作用,因此上面的语法有点时髦。也许有人可以向我解释。请注意,这不仅适用于当前的媒体查询,因此如果用逗号分隔,它只会影响它所在的​​媒体查询。另请注意,不反转整个媒体查询的逻辑,而不是它的各个部分。非 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; }
    }
    

    媒体查询不会为其包含的选择器添加任何特定性,但源顺序仍然很重要。以上将起作用,因为它们已正确订购。交换这个顺序,在浏览器窗口宽度超过 800 像素时,背景会是红色的,也许是好奇的。

    移动优先

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

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

    桌面优先

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

    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; }
    }
    

    注意,唯一的关键字旨在防止支持非媒体查询的浏览器不加载样式表或使用样式。不确定它曾经/现在有多大用处。

    And for media queries priorites

    来源:onetwothreefourfive

    【讨论】:

    • 你能把你的css或媒体查询粘贴到这里吗?
    • 实际上它的整个网站太多行了.......firefox 显示正常,但 chrome 无法显示良好的移动屏幕(320,480px)和移动也显示,如果所有东西都是坏了
    • 我相信如果您使用上述代码,我为您制作的起始代码将起作用,我无法在不查看您的代码的情况下确定问题。
    • 您的查询在 1024 像素之前都可以正常工作,但之后它们甚至都没有应用
    • 检查您放入 1023px - 768px 的代码?它们与 1024px - 1399px 有什么不同吗?
    【解决方案2】:

    如果你没有为不同的媒体定义css属性,你希望浏览器如何渲染它?

    你需要例如:

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

    【讨论】:

    • 我已经为不同的屏幕尺寸定义了 css,firefox 可以正确显示所有内容,但在移动设备中一切看起来都坏了
    • 也许你应该把你的css放在这里,这样我们就可以看到是什么导致了这个问题?
    • 我已经把css放在上面请看
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-12-25
    • 2018-06-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-06-21
    • 2018-03-21
    相关资源
    最近更新 更多