2013-03-12 88 views
0

Every1,CSS下拉菜單在IE7上不能正常工作

我在爲僅使用IE7的組織建立網站。在我的筆記本電腦上創建這個下拉菜單時,菜單沒有問題。但是,在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上面的代碼甚至不顯示的屬性水平菜單,而是將其顯示爲垂直菜單,顯示所有子菜單,上面的字體也不會顯示掃。

我在做什麼錯?

謝謝。

回答

0

IE7不知道什麼nav是....你應該使用html5shiv.js包含在文檔中,然後加入nav{display:block}對於初學者

0

爲IE7及以下使用

<!DOCTYPE html> 
導航不工作

在你的頭區域的頂部

+0

nav不適用於ie7及以下的使用<!DOCTYPE html>在標題區域的頂部 – 2013-03-12 05:07:33

+0

這不提供問題的答案。要批評或要求作者澄清,在他們的帖子下留下評論 - 你可以隨時評論你自己的帖子,一旦你有足夠的[聲譽](http://stackoverflow.com/faq#reputation),你將能夠[評論任何帖子](http://stackoverflow.com/privileges/comment)。 – pktangyue 2013-03-12 05:23:35

+0

thanx pktangyue – 2013-03-12 07:05:44

1

其他人則指出<nav>標籤在IE7不支撐。然而,問題超出了這個範圍。 IE7不支持HTML5,而您的頁面完全是HTML5 - Doctype不合適,標題標記不受支持,導航標記不受支持。

您可以添加javascript lubraries來幫助推動老瀏覽器理解HTML5。

此外,一些預構建的框架,如HTML5 Boilerplate可能會有助於支持舊的瀏覽器也是如此。

如果你主要爲IE7構建,你可能想要堅持使用xHTML或HTML4和CSS2。

+0

是的,你應該使用HTML5 SHIV – 2015-12-04 17:59:16