3

我必须使用大小为 304 * 250 的图像。

它在 320 * 480 的屏幕尺寸和 720 * 1280 的屏幕尺寸下完美运行。

现在当我想在 240 * 320 和 480 * 800 的屏幕尺寸中检查相同的情况时?既看不到背景图像,也看不到数据值。

采取的补救措施:

我想用盒子阴影代替图像。我实现了它并在 320 * 480 的屏幕尺寸下对其进行了测试。非常完美。

我想在 240 * 320 的屏幕尺寸和 480 * 800 的屏幕尺寸中使用Media Query进行测试

我从这里引用并尝试实施它,但我没有成功。

我的普通CSS

.container
{
    width:80%; height:auto; margin-left:10px; margin-right:10px; background-color:#CCCCCC; text-align:justify; border-radius:20px; box-shadow: 10px 10px 5px #888888; padding:10px; min-height:250px;
}

我的媒体查询 CSS

@media only screen and (max-device-width: 240px) 
{
    .container
    {
       width:180px; height:150px; margin-left:10px; margin-right:10px; background-color:#CCCCCC; border-radius:20px; box-shadow: 10px 10px 5px #888888; padding:10px; ;
    }
}

我以下列方式调用了 CSS

<link rel="stylesheet" type="text/css" href="css/common_set.css" />

问题: 它没有实现。我看不到盒子。它只是一个空屏幕。

它不访问上面提到的媒体查询 css。

尝试的解决方案

<meta content='width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0' name='viewport' />

我的实施有什么错误吗?请帮忙!!

澄清一下,如果我理解了答案的第一点

    .name_layer
    {
         float:left; width:100%; padding:0; margin:0; line-height:35px; height:35px; color: #FFFFFF; font-size:20px;
    }
    .name_layer_text
    {
        margin-left:1%;
    }
    .swipe_body
    {
          padding:0; margin:0; width:100%; height:480px; 
    }
    .container
    {
             width:200px; height:10px; margin-left:10px; margin-right:10px; background-color:#CCCCCC; border-radius:20px; box-shadow: 10px 10px 5px #888888; padding:10px; 
    }
    @media only screen and (max-width: 240px) 
    {
      .container
      {
            width:180px; height:150px; margin-left:10px; margin-right:10px; background-color:#CCCCCC; border-radius:20px; box-shadow: 10px 10px 5px #888888; padding:10px; ;
      }
    }

这个对吗?但我的输出是根据容器 CSS 来的......我在设备而不是浏览器上测试它

编辑:2

    @media only screen and (max-width:240px)  
    {
      .container
      {
            width:180px; height:150px; margin-left:10px; margin-right:10px; background-color:#CCCCCC; border-radius:20px; box-shadow: 10px 10px 5px #888888; padding:10px;
      }
    }       
    @media only screen and (min-width:240px)
    {
         .container
        {
                 width:250px; height:250px; margin-left:10px; margin-right:10px; background-color:#CCCCCC; border-radius:20px; box-shadow: 10px 10px 5px #888888; padding:10px; top:5px min-height:200px;
        }
    }

它是一个较小的设备,采用第二个 CSS- min-width: 240px

4

1 回答 1

2

这些是您的媒体查询不起作用的几种可能性。

  1. 当您使用媒体查询 CSS 时,您是否删除了正常的 CSS?还是两个都保留了?如果你想同时拥有两者,那么你需要适当地保留它们,否则普通的 CSS 会覆盖内部媒体查询。

    例如,如果您的 css 是这样的......

    @media only screen and (max-width: 241px) 
    {
        .container
        {
             width:180px; height:150px; margin-left:10px; margin-right:10px; background-color:#CCCCCC; border-radius:20px; box-shadow: 10px 10px 5px #888888; padding:10px; ;
        }
    }
    
    .container
    {
         width:180px; height:150px; margin-left:10px; margin-right:10px; background-color:#CCCCCC; border-radius:20px; box-shadow: 10px 10px 5px #888888; padding:10px; ;
    }
    

    媒体查询之外的.container样式将覆盖媒体查询内部的样式。因此,如果存在特定于设备分辨率的样式,则必须将它们包装在媒体查询中。

    与设备分辨率无关的样式,例如在所有分辨率中都相同的标题颜色,应该在媒体查询之外。

  2. 一个可能的问题是媒体查询与设备的分辨率不匹配。

  3. 另请检查您要查看的方向。

  4. 如果您在浏览器上进行测试,只有当您减小浏览器的宽度以满足媒体查询时,您才会在媒体查询中看到样式。很重要!因为通过使用媒体查询,您对浏览器说只有在宽度这么大时才应用它。例如,要查看 max-width 241px 的媒体查询内部的变化,您需要将浏览器的宽度减小到小于 240px(只需将浏览器的宽度减小到非常小)

您可以尝试对分辨率为 240*320 的设备进行媒体查询。

我想我找到了您需要从媒体查询中删除 -device- 的问题的解决方案(在浏览器上测试?)

@media only screen and (max-width: 241px) 
{
  .container
  {
   width:180px; height:150px; margin-left:10px; margin-right:10px; background-color:#CCCCCC; border-radius:20px; box-shadow: 10px 10px 5px #888888; padding:10px; ;
  }
}

您可以尝试对分辨率为 480*800 的设备进行媒体查询

@media only screen 
and (min-width : 480px) 
{
/* Styles */
}

注意:对媒体查询要非常谨慎。当您设置 min 和 max 时,它们将适用于满足 min 和 max 的所有分辨率。例如,上述媒体查询将适用于宽度大于 480 的所有设备。

于 2013-06-14T08:02:29.500 回答