【问题标题】:Display differences between Firefox and Chrome/IEFirefox 和 Chrome/IE 的显示差异
【发布时间】:2013-03-08 22:18:10
【问题描述】:

与 Chome 和 IE 相比,我不明白为什么在 Firefox 中的不同位置显示 HTML 元素。我正在使用 position:absolute 将标题和副标题文本放在我希望它们所在的标题中,但 FF 和 Chrome/IE 之间的文本元素的水平位置似乎有大约 30px 的差异

HTML 很简单,如下所示:

<div id="mainPage">
<div id="mainContent" class="mainRounded">
    <div id="header">
        <div id="title"><h1>Longer Title Text</h1></div>
        <div id="subtitle"><h2>Subtitle text</h2></div>
        <div id="banner"></div>
    </div>
</div>
</div>

CSS 是这样的:

.mainRounded {
margin: 0 auto;
width: 1000px;
border-radius: 30px;
background-color:#e9d7dc;
box-shadow: 5px 5px 3px #888888;
overflow:hidden;
margin-bottom: 25px;
}
#header #banner {
background-color: #0033CC;
height: 150px;
opacity:0.4;
filter:alpha(opacity=40); /* For IE8 and earlier */
position: relative;
overflow:hidden;
border-radius: 30px 30px 0 0;
}
#header #title {
padding: 0 ;
position: absolute;
top: -40px;
left: 710px;
}
#header #subtitle {
padding: 0 ;
position: absolute;
top: 95px;
left: 870px;
}
#header #title h1 {
font-family: Georgia;
    font-size: 54px;
    font-style: italic;
    font-weight: normal;
text-shadow: 2px 2px 5px #0033CC;
}
#header #subtitle h2 {
font-family: Georgia;
    font-size: 26px;
    font-style: italic;
    font-weight: normal;
}

您可以在此处的测试页面上现场查看:http://mardona.org/test.php 老实说,我不明白有什么区别,所以任何帮助都将不胜感激。

【问题讨论】:

  • 我看不出有什么不同。清除缓存??
  • 您是否要使标题和副标题居中?您可以将这些与 {position:absolute;左:0;对:0; margin:0 auto;} 并让浏览器计算中心位置。
  • 不,我不想居中 - 我想将文本向右对齐到与背景图像相关的特定位置,但遗憾的是我无法向您展示。

标签: css google-chrome firefox


【解决方案1】:

您应该将position: relative;.mainRounded,然后在margin-top 的其他定位值中将top 的margin 值更正为0,然后它必须按您的意愿工作。

【讨论】:

    【解决方案2】:

    每个不同的浏览器都有不同的行为来显示 HTML 样式。你需要重置你的CSS:

    希望有用 http://developer.yahoo.com/yui/reset/ 尤其是 IE IE Styling

    【讨论】:

    • 感谢您的建议。我刚刚添加了一个重置​​ CSS 块,但它并没有改变浏览器之间水平位置的差异。
    【解决方案3】:

    我查看了您在 FF 16 和 Chrome 25 中的测试页面 - DIV 元素在两种浏览器中都正确对齐。

    H1 ​​和 H2 文本的呈现方式似乎有所不同,这可能就是它看起来具有不同水平位置的原因。

    看看这个:https://stackoverflow.com/a/5082824/1443797

    【讨论】:

    • 我没有考虑过 H1 和 H2 标签,但我已经更新了页面并将它们转换为 ,除了必须调整垂直位置之外,它没有任何区别。我还添加了一些“重置”CSS,如下所示,但这也没有任何区别。我知道 FF 和 Chrome 中使用的盒子模型是不同的,但边距和填充似乎没有问题 - 看起来 FF 确实将 #title 和 #subtitle div 放置在比右侧更远的位置铬
    • 尝试将它们更改为较小的字体 - 例如 14px Arial,并查看它们是否在同一位置对齐。还要确保您正在查看的浏览器的宽度在 FF 和 Chrome 中是相同的