代码之家  ›  专栏  ›  技术社区  ›  William

如何将媒体查询与屏幕分辨率挂钩?

  •  0
  • William  · 技术社区  · 9 年前

    我现在使用查询有一段时间了,根据它的类型(手机、笔记本电脑、平板电脑甚至普通屏幕)抓取了一些预加载的宽度等,我意识到它一直在使用最小宽度和最大宽度,而与高度无关?所以我把它改为最大宽度,最大高度,现在它似乎与不同的屏幕冲突。所以我把它改回最小宽度和最大宽度,但问题是一样的。

    我完全不知道这些是如何使用的。我看了大量的教程和各种各样的东西,但我仍然不能正确理解。有人能帮我吗?

    下面是我将两个冲突的查询放在一起,我猜测的原因是因为最大宽度相同?

    我把一个改成了最大高度,但仍然不起作用,所以我真的不知道。

    我要创建媒体查询的屏幕大小如下: 1280 x 768,为横向。我还想做:1280 x 720

    屏幕1280 x 768的媒体查询:

    @media only screen 
      and (min-width: 768px) 
      and (max-width: 1280px) 
      and (orientation: landscape) 
    {
    /*css here*/
    }
    

    1280 x 720屏幕代码:

    @media only screen 
      and (min-width: 720px) 
      and (max-width: 1280px) 
      and (orientation: landscape) 
    {
    /*css here*/
    }
    

    我尝试了什么?

    @media only screen 
     and (max-height: 720px) 
     and (orientation: landscape) 
    {
     /*Screen 1280 x 720*/
    }
    
    
    
    @media only screen 
    and (max-width: 1280px) 
    and (orientation: landscape) 
    {
     /*Screen 1280 x 768*/
    }
    

    感谢所有帮助!谢谢

    2 回复  |  直到 9 年前
        1
  •  3
  •   Gavin Thomas    9 年前

    你的第一条规则与第二条规则相矛盾。

    1280px x 768与w x h相同。因此高度将为768,而不是最小宽度-但这不是必需的。

    @media only screen 
      and (min-height: 720px) 
      and (max-width: 1280px) 
      and (orientation: landscape) 
    {
    /*css here*/
    }
    

    (此处可以使用最大高度)

    @media only screen 
      and (min-height: 768px) 
      and (max-width: 1280px) 
      and (orientation: landscape) 
    {
    /*css here*/
    }
    
        2
  •  0
  •   William    9 年前

    由于一些奇怪的原因,它会同时拾取两个查询,所以我只是通过将其缩小以适合两者,无论大小如何。

    例子:

    background-color: red;
    height: 500px; // I want this for one red and 1200 for another lets say
    

    如果我把高度定为1200,那就太夸张了,但不管怎样,我所做的就是让它保持300像素的高度,而且很壮观。(不是最好的,但还可以)。