【问题标题】:Div not centering on certain browsersDiv 不以某些浏览器为中心
【发布时间】:2013-12-02 03:59:10
【问题描述】:

在过去的几周里,我一直在为我的一个朋友开发一个网站,虽然它在大多数浏览器中都能完美运行,但它会分成 2 个单独的浏览器。

我有一个 div,css 为

#div2 {
    width: 70%;
    margin: 0 auto;
    display: block;
    text-align: center;
}

在 Chrome、Opera、Internet Explorer 和许多其他浏览器中,它可以正常加载,并且 div 居中。 但在 Firefox 和 Safari(都在 windows 上)中,div 停留在页面的左侧。

div2 位于父 div 内,但父 div 上只设置了边框,没有别的。

我已经尝试了很长时间来纠正这个问题,即使使用 @-moz-document url-prefix() css,但它仍然没有解决它。

如有任何建议,我们将不胜感激。

【问题讨论】:

  • 请在 jsfiddle 中重新创建,包括父 div
  • 将 HTML 发布到您的问题中。
  • 你先重置css吗?
  • 确保你的父 div 的宽度为 100%。如果页面中的其他内容迫使它小于页面宽度,则内部 div 将在父 div 中居中,但父 div 不会在屏幕上伸展,导致它看起来好像没有居中。 .
  • @DavidFleeman 您仍然可以在父级上使用position: relative 以使其使用 70% 的 可用 空间。

标签: html css firefox margin center


【解决方案1】:

用途:

{
left:50%;
margin-left:-200px; //minus half of your div width
}

【讨论】:

  • 这对于动态内容来说真的很糟糕,应该成为垂直居中的手段。
  • 没有解释为什么 OP 代码在 Firefox 中不起作用; margin: 0 auto 在很多情况下仍然是更好的方法
  • 动态内容可以用javascript控制。获取新宽度并根据需要调整左侧边距。
【解决方案2】:

尝试在父 div 上指定“宽度:100%”。当没有容器 div 时也会出现同样的问题,解决方案是指定“html, body {width: 100%}”,所以这很可能是相同的情况。

【讨论】:

  • 如果这不能解决问题,请在父 div 上添加 text-align: center
  • 这是一个很好的解决方案,前提是您可以使用 100% 宽度的 div...即,不覆盖任何会使它们无法点击的按钮。
  • 这修复了它。我在测试期间注释掉了父 div 的宽度并忘记恢复它。所以我的疏忽很大。
【解决方案3】:

Firefox 版主已经给出了解决方案:

#div2 {
    border: thin solid #000000;
    width: 760px;
    height: 1px;
    margin-left: auto;
    margin-right: auto;
}

【讨论】:

    猜你喜欢
    • 2012-04-12
    • 2012-03-12
    • 2017-04-04
    • 2017-03-05
    • 1970-01-01
    • 1970-01-01
    • 2011-06-22
    • 2010-11-01
    • 2020-01-15
    相关资源
    最近更新 更多