0

我正在开发一个网站,它在 Chrome/Firefox 中运行良好,但我在 IE8 和 9 中遇到了两个问题。

  1. 在 IE9 中,标题中的导航菜单不显示。

  2. 在 IE8 中,整个标题都被搞砸了。标题、副标题和导航菜单都出现在主标题图像上方,而不是在其顶部。(单击此处查看它的外观)。

我确信这些都是非常简单的修复,我只是找不到它们。提前致谢。

编辑代码。HTML:

    <div class="heightWrapper">
        <h1 class="birthofahero"><?php bloginfo( 'name' ); ?></h1>
        <h2 class="jennasue"><?php bloginfo( 'description' ); ?></h2>
        <img src="/resources/images/header.jpg" alt="StartLivingNow | Inspiring a Generation" />
        <nav class="topNavigationMenu">
            <ul>
                <li><a href="/" title="Home">Home</a></li>
                <li><a href="/about/">About</a></li>
                <li><a href="/blog/">Blog</a></li>
                <li><a href="/media/">Media</a></li>
                <li><a href="/newsletter/">Newsletter</a></li>
                <li><a href="/partnership/">Partnership</a></li>
                <li><a href="/contact/">Contact</a></li>
            </ul>
        </nav>
    </div>

CSS

.heightWrapper {
    height: 100%; /* To position the navbar at the bottom of the div */
    margin-bottom: -.4em; /* A magic number, for some reason. */
}
.topNavigationMenu {
    float: left;
    position: relative;
    bottom: 3.9em;
    margin-bottom: -3.9em;
    z-index: 100; /* test */
}
.topNavigationMenu li, .topNavigationMenu a {
    float: left;
}
.topNavigationMenu li a {
    font-family: 'Open Sans', Arial, sans-serif;
    font-size: 2em;
    font-weight: bold;
    text-decoration: none;
    color: #004080;
    float: left;
    padding: .2em .4em;
}
.topNavigationMenu li a:hover, .topNavigationMenu li a:active {
    background-color: #004080;
    color: #fff;
}
4

2 回答 2

0

IE8

原因是你的布局。在您的布局中,有 3 件事:

  • h1
  • h2
  • 菜单
  • 现在对于 h,您使用了浏览器中不存在的字体,或者使用 @font-face 的计算机。Internet Explorer 不支持许多 CSS3 命令,例如 @font-face,导致您的菜单位于顶部。

    解决方案:

    使整个标题成为图像,然后放置菜单。

    IE9

    我不知道,但很可能是一样的。并且不要忘记检查错误。

    于 2013-02-10T05:52:33.087 回答
    0

    修复了 IE9 中的导航菜单 Apply position:relative to your heightWrapper 和 Apply position:absolute to .topNavigationMenu(你已经设置了底部:0)。您还应该从 .topNavigationMenu 中删除 float:left。

    As for the IE8 issues, neither header nor nav are HTML 4 elements, and IE 8 doesn't support HTML 5. Try including modernizer (http://modernizr.com/) in the head section of the page, or another HTML5 shiv. That should allow you to style them in IE7/8.

    于 2013-02-10T05:58:28.753 回答