【问题标题】:Media Queries not working for responsive design媒体查询不适用于响应式设计
【发布时间】:2017-06-01 07:30:06
【问题描述】:

我正在使用画布图像进行图像显示,它在大型设备上效果很好,当涉及到小型设备时它没有响应,所以我使用媒体查询进行响应式设计,尽管使用媒体查询仍然图像没有响应。我正在使用 CSS 类,因为我将在网页的多个位置使用此图像布局请帮助我解决此问题!

提前致谢!

HTML 代码

<div class="img-container">
        <img class='img' src="http://lorempixel.com/320/480/" alt=""/>
        <canvas class="Canvas" width="320" height="480"></canvas>       
</div> 

CSS 代码

@media (min-width:480px) 
    {
        .img
        {
            margin-left: 30px;
            width: 120px;
            height: 120px;
            padding-top: 20px;
        }
        .img-container
        {
            display: inline-block;
            margin: 0 auto;
            background: #1e74ff;
            position: relative; 
        }
        .Canvas
        {
            position:relative;
            z-index:20;
            width:100px;
        }
    }
    body
    {
        text-align: center;
        background: #f2f6f8;
    }
    .img
    {
        position:absolute;
        z-index:1;
        margin-left: 103px;
        width: 350px;
        height: 428px;    
        padding-top: 20px;
    }
    .img-container
    {
        display:inline-block;
        width:320px; 
        height:480px;
        margin: 0 auto; 
        background: #1e74ff; 
        position:relative; 
    }
    .Canvas
    {
        position:relative;
        z-index:20;
    }

JSFiddle

【问题讨论】:

  • 您应该始终将您的media queries 放在桌面CSS 之后。 您的代码完全按照编写的方式工作,只是您没有使用正确的positioningtargetselectors
  • 我认为媒体查询应该看起来像 @media screen and (min-width:480px) 并且在 master 样式之后。
  • 感谢@vivekkupadhyay 我做了位置更改,将媒体查询放置在桌面 CSS 之后,尽管它在较小的设备上没有响应。
  • 看来.img 在大视口上的宽度应该是 120px,在小视口上应该是 350px。对吗?
  • 谢谢@vivekkupadhyay!我的代码现在可以运行了!

标签: html css media-queries


【解决方案1】:

您可以将媒体查询用于较小的屏幕并删除边距和填充,如果我的问题正确,我会设置宽度以适合父元素。

@media only screen and (max-width: 480px) {
    .img {
      top: 0;
      left: 0;
      margin-left: 0;
      width: 100%;
      height: auto;
      padding-top: 0;
    }
}

工作fiddle

【讨论】:

  • 谢谢@yonasHailu
【解决方案2】:

您没有在媒体查询中定位您的图像 (.img),而是似乎有一个 .dg-img 选择器。因此,您可能需要做的就是将媒体查询中的“.dg-img”更改为“.img”。

编辑:同时将您的媒体查询置于“默认”样式下方。

编辑 2:您的媒体查询可能有误。我假设小屏幕需要“max-width:480px”,而不是“min-width”

【讨论】:

  • 谢谢@leon!我已将我的类选择器更改为 .img,但它在较小的设备上仍然没有响应。
  • 啊,除了我的评论,vivekkupadhyay 所说的:将您的媒体查询放在默认样式下方。例如,如果您在媒体查询中为 .img 设置样式,并且在此下方有更多 .img 样式,这些样式将覆盖媒体查询中的样式。
猜你喜欢
  • 1970-01-01
  • 2017-11-21
  • 2015-09-15
  • 1970-01-01
  • 2016-02-17
  • 1970-01-01
  • 2016-07-25
  • 2013-07-05
  • 2012-10-11
相关资源
最近更新 更多