【问题标题】:css: Unexpected margin / padding in Firefox 4 csscss:Firefox 4 css 中的意外边距/填充
【发布时间】:2011-08-24 21:44:57
【问题描述】:

我最近开始建立一个网站,但在 Firefox 4 中遇到了问题。 我的主导航栏与页面顶部有一个意外的边距。 - 仅在 Firefox 4 中。 Chrome、IE8、IE9、IE7、Safari 工作正常。只有FF4似乎有问题。 我怎样才能优雅地解决这个问题,而不会让我的 css 被 ff hacks 弄得一团糟?

感谢您的发言:

现场演示网址:http://www.creativeworkx.at

【问题讨论】:

    标签: css firefox margin


    【解决方案1】:

    我已经为您的情况制定了一个简单的测试:

    <div style="float:left;">test</div><div style="margin-top: 50px;"></div>
    

    注意:设置margin-bottom而不是margin-top的作用类似,但可以通过在第二个DIV中添加内容来解决

    这表明这是一种复杂的float 问题,导致意外渲染。

    这种意外渲染甚至出现在 Firefox 以外的浏览器中,例如 Chrome。


    但是,我最近找到了一个快速但不是正式的解决方案,可以意外地解决您感兴趣的问题。

    只需在菜单后、第一个DIV或有边距的DIV之前添加一个文本,无论是空字符串还是&amp;nbsp;

    您可以通过具有零高度和块显示属性的元素来包装文本。

    喜欢:

    <div style="height:0">&nbsp;</div>
    

    这个问题看起来就像被这个技巧解决了。 :-)

    享受编写 CSS 的乐趣。 :-)

    【讨论】:

      【解决方案2】:

      这个 css 是坏人:

      #main-wrap {
          margin: 2em auto auto;
      }
      

      【讨论】:

      • 我不明白。 #main-wrap 不围绕#top wrap。 #main-wrap 如何导致页面顶部到 #top-wrap 的边距?
      【解决方案3】:

      #main-wrap div 中的2em 边距导致了它。

      margin-top: -2em 添加到您的#doc div 修复中。

      【讨论】:

      • 谢谢,我太瞎了,看不见。但为什么只有 FF?
      • 由于怪癖模式。提供适当的 Doctype,FF 会表现得更加严格。
      • 为什么会出现怪癖?这是普通的 html 5 标签?
      • @Cobra_Fast Doctype 好像没问题,是&lt;!DOCTYPE html&gt;
      • Web Developer Extension 告诉我这个 doctype 符合标准?
      猜你喜欢
      • 2012-04-30
      • 1970-01-01
      • 2014-05-15
      • 2017-06-21
      • 2014-03-24
      • 2013-05-15
      • 1970-01-01
      • 2018-11-05
      • 1970-01-01
      相关资源
      最近更新 更多