4

我不明白为什么与 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 老实说,我不明白有什么区别,所以任何帮助将不胜感激。

4

3 回答 3

1

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

于 2013-03-20T04:11:02.333 回答
0

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

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

于 2013-03-20T00:46:57.297 回答
0

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

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

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

于 2013-03-20T00:49:04.020 回答