【问题标题】:Centered page with exception居中页面异常
【发布时间】:2014-11-18 13:57:28
【问题描述】:

我试图保持主 div 始终居中,但是当将浏览器窗口的大小调整为从 900 像素开始的最小尺寸时,我怎样才能使“主”保持在左侧,并且只有在更大的屏幕或 900 像素以上时,他才开始居中页面在中间?

提前致谢

CSS:

body {
   font: 24px Helvetica;
   background: #999999;
   min-width: 900px;
   margin: 0;
  }

#main {
    margin-left: auto;
    margin-right: auto;
    clear: both;
}


header {
    width: 100%;
    background: yellow;
    text-align: center;
}

nav {
    width: 20%;
    min-width: 120px;
    max-width: 300px;
    float: left;
    height: 600px;
    background: orange;
    text-align: center;
}

article {
    width: 80%;
    min-width: 400px;
    max-width: 1200px;
    float: left;
    height: 600px;
    background: yellow;
    text-align: center;
}

footer {
    width: 100%;
    float: left;
    height: 100px;
    background: blue;
    text-align: center;
}

HTML:

 <header>header</header>
 <div id='main'>

     <nav>nav</nav>
     <article>article</article>

 </div>
 <footer>footer</footer>

【问题讨论】:

标签: html css center margins


【解决方案1】:

您可以使用以下媒体查询:

#main {
    clear: both;
}

@media screen and (min-width: 900px) {
    #main {
        margin:auto;
        width: 900px; // will need some sort of width adding either here or above for a default width
    }
}

Example

【讨论】:

  • 感谢您的帮助。我完全忘记了媒体查询,但不知何故,这个解决方案不起作用。所有页面都保留在左侧。
  • 我认为这是 CODA 的某种错误,因为现在重新启动应用程序后它工作正常,但 NAV 和文章 Div 的宽度已固定。我在 MAC 上使用 SAFARI 8。谢谢。
  • 啊听起来好像可以缓存样式表
  • 可能是的。这是一个简单的代码,但让我发疯,因为您的代码运行良好,但现在“导航”和“文章”在调整浏览器窗口大小时不会自动调整大小。两个 div 一起保持在 900 像素,所以当我尝试使用百分比时,页面会忽略您的代码并再次将所有内容向左对齐。
  • 当我们删除其余代码时,它工作得很好,就像你的例子一样,但是使用我的完整代码它不起作用,因为两个 DIV 都没有大于 900px 并且两个 div 都失去了它们的“灵活”的大小。
【解决方案2】:

抱歉,您问题中的语言开始与拼写错误有点混淆。所以对我来说很清楚的是,您希望某些 CSS 应用到某个屏幕宽度以下,而其他 CSS 应用到某个屏幕宽度以上。这可以使用媒体查询来实现。请看下面:

以下 CSS 适用于宽度不超过 900 像素的屏幕。

@media only screen and (max-width: 900px) {
  #main {
    margin-left: 0;
    margin-right auto;
    clear: both;
  }
}

以下 CSS 适用于宽度超过 900 像素的屏幕。

@media only screen and (min-width: 900px) {
  #main {
    margin-left: auto;
    margin-right: auto;
    clear: both;
  }
}

您可以在此处阅读有关媒体查询的更多信息: http://www.w3schools.com/cssref/css3_pr_mediaquery.asp

希望这会有所帮助。

【讨论】:

  • 你说得对。对于那个很抱歉。是的,这就是我想要的,但不知何故,这段代码也不起作用……我不知道为什么……
猜你喜欢
  • 2014-12-01
  • 1970-01-01
  • 1970-01-01
  • 2015-04-17
  • 2019-04-04
  • 1970-01-01
  • 2018-09-26
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多