坚持在此布局上进行媒体查询的最佳方法

时间:2012-11-16 20:07:13

标签: css css3 mobile media-queries

我正在努力学习响应式设计。我正在建立一个网站,其中一个页面是一个投资组合。我设置了以下如何布置此页面的模型。当然这是一个非常简化的版本。我似乎无法应用正确的查询,以便这种格式在宽屏桌面,ipad和手机上看起来不错。我开始了第一个查询,但它当然没有工作,也知道这是否是普通宽屏桌面的最佳尺寸。

有人可以让我开始介绍如何将其应用到此页面吗?我将继续学习教程,但需要在这里开始。

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Untitled Document</title>
<meta name="viewport" content="width=device-width; initial-scale=1.0">
<style type="text/css">
@media screen and (max-width:1080px) {
    #main {
        width: 960px;
    }
}
body {
    background-color: #FFF;
    margin:0;
}

#main {
    width: 1080px;
    margin-right: auto;
    margin-left: auto;
    height: 860px;
    margin-top: 20px;
    margin-bottom: 20px;
}
.box {
    background-color: #CCC;
    height: 200px;
    width: 200px;
    margin-right: 20px;
    float: left;
    margin-bottom: 20px;
}
.box_last {
    background-color: #CCC;
    height: 200px;
    width: 200px;
    float: left;
    margin-bottom:20px;
}
.box_bottom {
    background-color: #CCC;
    height: 200px;
    width: 200px;
    margin-right: 20px;
    float: left;

}
.box_last_bottom {
        background-color: #CCC;
    height: 200px;
    width: 200px;
    float: left;

}
</style>
</head>

<body>
<div id="main">
  <div class="box"></div>
  <div class="box"></div>
  <div class="box"></div>
  <div class="box"></div>
  <div class="box_last"></div>

  <div class="box"></div>
  <div class="box"></div>
  <div class="box"></div>
  <div class="box"></div>
  <div class="box_last"></div>

  <div class="box"></div>
  <div class="box"></div>
  <div class="box"></div>
  <div class="box"></div>
  <div class="box_last"></div>

  <div class="box_bottom"></div>
  <div class="box_bottom"></div>
  <div class="box_bottom"></div>
  <div class="box_bottom"></div>
  <div class="box_last_bottom"></div>
</div>
</body>
</html>

1 个答案:

答案 0 :(得分:1)

在您当前的代码中,媒体查询块中的#main被覆盖。您必须将媒体查询放在CSS的最底层

#main {
    width: 1080px;
    ...
}

@media screen and (max-width:1080px) {
    #main {
        width: 960px;
    }

    .box {
        width: 200px;
        ...
    }
}

然后换小屏幕

@media screen and (max-width: 480px) {
    #main {
        width: 100%;
    }

    .box {
        width: 50%;
        ...
    }
}