0

Every1,

まだ IE7 のみを使用している組織の Web サイトを構築しています。ラップトップでこのドロップダウン メニューを作成すると、メニューは問題なく機能します。しかし、IE7 ブラウザで初めて試すと、うまくいきません。

<!doctype html>
<head>
    <meta charset="utf-8">
    <link rel="stylesheet" type="text/css" href="./menu.css">
    <link rel="stylesheet" type="text/css" href="./styles.css">
    <title>Title</title>
</head>
<body>
    <header>
        <div id="logo">
            <img src="Crest.png">
        </div>
        <p id="name">Somename</p>
        <p id="motto">MyMotto</p>
    </header>

    <nav id="navigation">
        <ul>
            <li id="menu"><a href="#">Home</a></li>
            <li id="menu"><a href="#">Pubs</a>
                <ul id="subMenu">
                    <li><a href="#">Book 1</a></li>
                    <li><a href="#">Book 2</a></li>
                </ul>
            </li>
            <li id="menu"><a href="#">Links to Website</a>
                <ul id="subMenu">
                    <li><a href="#">Link 1</a></li>
                    <li><a href="#">Link 2</a></li>
                </ul>
            </li>
            <li id="menu"><a href="#">Departments</a></li>
            <li id="menu"><a href="#">References</a>
                <ul id="subMenu">
                    <li><a href="#">Ref 1</a></li>
                    <li><a href="#">Ref 2</a></li>
                </ul>
            </li>
            <li id="menu"><a href="#">Links</a>
                <ul id="subMenu">
                    <li><a href="#">More 1</a></li>
                    <li><a href="#">More 2</a></li>
                </ul>
            </li>
            <li id="menu"><a href="#">Forms</a>
                <ul id="subMenu">
                    <li><a href="#">Form 1</a></li>
                    <li><a href="#">Form 2</a></li>
                </ul>
            </li>
            <li id="menu"><a href="#">Orders</a></li>
            <li id="menu"><a href="#">Status</a></li>
        </ul>
    </nav>
</body>

menu.css のコード

/* #navigation */
ul { 
    list-style:none;
    padding:0px;     
    margin:0px;
}

ul#subMenu a:hover { color: #FF0; font-weight: bold;}

#navigation { 
    margin-top: 20px;
    float: left;
}

#navigation ul, #navigation li {
    list-style: none; 
    padding: 0; 
    margin: 0; 
    display: inline;
    background-color: #30C;
    /* box-shadow: #111 3px 3px 4px; */
}

li#menu { box-shadow: #111 3px 3px 4px; }
ul#subMenu { box-shadow: #111 3px 3px 4px; }

#navigation ul li {
    float: left; 
    position: relative;
}

#navigation ul li a {
    display: block;
    padding: 3px 20px;
    margin: 1px;
    font-size: 12px;
    white-space: nowrap;
    color: #FFF;
    text-decoration: none;
    font-size: 16px;
}

#navigation ul ul {
    position: absolute;
    top: -99999px;  /* Remove them out of viewport */
    left: 0;        
    opacity: 0;     /* Hide sub level, we will use this in transition */
    -webkit-transition: opacity .4s ease-in-out;
    -moz-transition: opacity .4s ease-in-out;
    -o-transition: opacity .4s ease-in-out;
        transition: opacity .4s ease-in-out;
    z-index: 497;
    background: #30C;
    padding: 2px;
    border: 1px solid #444;
    border-top: none;
    box-shadow: #111 0 3px 4px;
    border-bottom-left-radius: 6px;
    border-bottom-right-radius: 6px;
}

#navigation ul ul ul {
    position: absolute;
    top: -99999px;
    left: 100%;
    border-radius: 6px;
    border: 1px solid #444;
    background-color: #FFF;
}

#navigation ul li:hover>ul {
    opacity: 1;
    position: absolute;
    top: 99%;
    left: 0;
}

#navigation ul ul li:hover>ul {
    opacity: 1;
    position: absolute;
    top: 0%;
    left: 100%;
}

styles.css のコード

body {
    width: 900px;
    margin: 0 auto;
    padding: 0;
    background-color: #006;
}

@font-face {
    font-family: Cowboys;
    src: url('Bleeding_Cowboys.ttf');
}

#logo {
    margin-top: 20px;
    padding: 0;
    float: left;
}

#name {
    float: left;
    font-size: 85px;
    margin: 0;
    margin-top: 20px;
    padding: 0;
    color: #FC0;
    font-family: Cowboys;
    position: relative;
    left: 40px;
}

#motto {
    float: left;
    font-size: 25px;
    margin: 0;
    padding: 0;
    position: relative;
    left: -460px;
    top: 160px;
    color: #FC0;
    font-family: Cowboys;
    font-style: italic;
}

上記の IE7 のコードは、水平メニューのプロパティを表示しません。代わりに、すべてのサブメニューを表示する垂直メニューとして表示し、上記のフォント フェイスも機能しません。

私は何を間違っていますか?

ありがとう。

4

3 に答える 3

1

<nav>タグが IE7 でサポートされていないことを指摘する人もいます。しかし、問題はそれを超えています。IE7 は HTML5 をサポートしておらず、ページ全体が HTML5 です - Doctype が不適切で、header タグがサポートされておらず、nav タグがサポートされていません。

古いブラウザーが HTML5 を理解できるようにするために含めることができる JavaScript 潤滑油があります。

さらに、 HTML5 Boilerplateなどの一部の事前構築済みフレームワークは、古いブラウザーのサポートにも役立つ場合があります。

主に IE7 用に構築している場合は、xHTML または HTML4 と CSS2 に固執することをお勧めします。

于 2013-03-12T07:11:19.547 に答える
0

ie7 は何が何なのかわかりません.... html5shiv.jsnavを使用してドキュメントに含め、最初に追加する必要がありますnav{display:block}

于 2013-03-12T03:28:42.450 に答える
0

nav は ie7 以下の使用では機能しません

<!DOCTYPE html> 

ヘッダー領域の上部に

于 2013-03-12T05:06:59.673 に答える