-3

我在让我的网站在 IE9 和earleir 中正常运行时遇到问题(它在 IE10 和 FireFox 中运行良好)。问题是在访问主页(或导航栏链接到的任何页面)时,每个导航栏链接都列在另一个之上,而不是并排列出。奇怪的是,一旦在主页上单击搜索按钮,一切都开始正常工作。

我搜索了该站点并尝试了推荐的建议,例如更改文件中元标记的内容,但无济于事。

编辑:有人建议我附上截图,但我无法这样做,因为我还没有足够的声望点。

导航栏要包含的 HTML 文件:

//<meta http-equiv='Content-Type' content='text/html; charset=utf-8'/>
<meta http-equiv='X-UA-Compatible' content='IE=EmulateIE10'/>
<link rel="stylesheet" href='jsddm.css'>

<script src="http://code.jquery.com/jquery-1.9.1.min.js"></script>

<script>
$(function(){

  $("ul.jsddm li").hover(function(){
    $('ul:first',this).css('visibility', 'visible');

     }, function(){
    $('ul:first',this).css('visibility', 'hidden');

     });

   });
</script>



<ul class="jsddm">
<li><a href="home"><img src="./styles/icons/sitelogolowres.png"> APPraisal</a>
<li><a href="#">OS</a>
    <ul>
        <li><a href="#">Android</a></li>
        <li><a href="#">iOS</a></li>
    </ul>
</li>
<li><a href="#">Rating</a>
    <ul>
        <li><a href="#">1</a></li>
        <li><a href="#">2</a></li>
        <li><a href="#">3</a></li>
        <li><a href="#">4</a></li>
        <li><a href="#">5</a></li>
    </ul>
</li>
<li><a href="login">Login</a></li>
<li><a href="register">Register</a></li>
</ul>

</div>
<br/><br/>

CSS 文件:

ul.jsddm
{
    margin: 0;
    padding: 0;
    position: relative;
    line-height: 2.0em;

}

ul.jsddm a
    {
    color: #FFF;
    background-color: #333;
    border: 1px solid #444;
    display: block;
    text-decoration: none;
    text-align: center;
    width: auto;
}

ul.jsddm a:hover
{
    color: #000;
    background-color: #FFF;
}

ul.jsddm > li
{
    position: relative;
    float: left;
    list-style: none;
    width: 20%;
}

ul.jsddm li ul li
{
    list-style:none;
}

ul.jsddm ul
{
    position: absolute;
    width: 100%;
    top: 33px;
    padding: 0;
    visibility: hidden;
}
4

1 回答 1

0

尝试这个

<html>
<head>
<meta http-equiv='Content-Type' content='text/html; charset=utf-8'/>
<script src="http://code.jquery.com/jquery-1.9.1.min.js"></script>
<style>
    ul.jsddm, ul.flyout
    {
        margin: 0;
        padding: 0;
        line-height: 2.0em;
        list-style-type:none;
    }
    ul.jsddm li
    {
        float: left;
        width: 19%;
        position:relative;
    }
    ul.jsddm a
    {
        color: #FFF;
        background-color: #333;
        border: 1px solid #444;
        display: block;
        text-decoration: none;
        text-align: center;
        width: auto;
    }
    ul.flyout li
    {
        width: 100%;
        display:block;
        float:none;
    }
    ul.jsddm a:hover
    {
        color: #000;
        background-color: #FFF;
    }
    ul.flyout
    {
        display:none;
        position:absolute;
        top:34px;
        left:0px;
        width:100%;
    }
    ul.jsddm li:hover ul.flyout
    {
        display:block;
    }
</style>
</head>
<body>

<div>
    <ul class="jsddm">
        <li><a href="home">APPraisal</a>
        <li><a href="#">OS</a>
            <ul class="flyout">
                <li><a href="#">Android</a></li>
                <li><a href="#">iOS</a></li>
            </ul>
        </li>
        <li><a href="#">Rating</a>
            <ul class="flyout">
                <li><a href="#">1</a></li>
                <li><a href="#">2</a></li>
                <li><a href="#">3</a></li>
                <li><a href="#">4</a></li>
                <li><a href="#">5</a></li>
            </ul>
        </li>
        <li><a href="login">Login</a></li>
        <li><a href="register">Register</a></li>
    </ul>
</div>
</body>
</html>

我已将下拉菜单更改为 CSS。主要问题是 ul.jsddm > li,它只设置第一个 li 的样式,并且在没有默认 li 样式的情况下存在 ie 问题

于 2013-04-30T21:29:22.230 回答