下载悬停和导航栏中的Firefox中的额外像素无法在IE 8中运行

时间:2013-08-07 19:00:42

标签: firefox internet-explorer-8 hover navbar

我正在开发我的第一个网站(我是一个n00b),而在Safari和Chrome上,它看起来就像我想要的那样。但是,在IE 8中,导航栏根本不起作用。在Firefox中,一旦将鼠标悬停在其中一个链接上,它就会将下拉框向下移动,但它会在主导航栏和子链接之间添加一个额外的像素。

我的网站的网址是:http://tonerleague.x10.mx/basketball.html

我的HTML是......:

<div class="menu">
<nav>
<ul>
    <li><a href="#">Main</a>
        <ul>
            <li><a href="#">Advertise</a></li>
        </ul>
    </li>
    <li><a href="#">Test</a>
        <ul>
            <li><a href="#">Test</a></li>
            <li><a href="#">TestTest</a></li>
            <li><a href="#">TestTestTest</a></li>
        </ul>
    </li>
    <li><a href="#">Unknown</a>
        <ul>
            <li><a href="#">Test</a></li>
            <li><a href="#">Test</a></li>
        </ul>
    </li>
    <li><a href="#">Support</a></li>
    <li><a href="#">Forums</a></li>
</ul>
</nav>
</div>

我的CSS是......:

.menu
{
left: 50%;
position: absolute;
top: 137px;
margin-left:-500px;
font-family:"Arial", Helvetica, sans-serif;
font-size: .875em;
font-weight: bold;
}
    nav ul {
padding: 0;
border-radius: 0px; 
list-style: none;
position: relative;
display: inline-block; 
    }
nav ul:after {
    content: ""; clear: both; display: block;
}

    nav ul ul {
display: none;
    }

nav ul li:hover > ul {
    display: block;
}
    nav ul li {
float: left;
line-height: normal;
-moz-border-radius: 0;  
    }
nav ul li:hover {
    /*background:#C0C0C0; ** Firefox causes another extra pixel when activated*/
    line-height: normal;
    -moz-border-radius: 0;  

}
    nav ul li:hover a {
        color: #FFF;
    }

nav ul li a {
    display: block; padding: 5px 35px;
    color: #FFF; text-decoration: none;
    border-right: 0px solid #FFF;
    -moz-border-radius: 0;  
}
nav ul ul {
background-color: #C0C0C0; border-radius: 0px; padding: 0;
position: absolute; top: 100%;
line-height: normal;
-moz-border-radius: 0;  
    }
nav ul ul li {
    float: none; 
    border-top: 0px solid #FFF; 
    border-bottom: 0px solid #000;
    border-right: 0px solid #000;
    border-left: 0px solid #000;
    position: relative;
    line-height: normal;
    -moz-border-radius: 0;  
}
    nav ul ul li a {
        padding: 5px 15px;
        color: #fff;
    }   
        nav ul ul li a:hover {
            background-color: #000000;
        }

1 个答案:

答案 0 :(得分:0)

SELECT框不是典型的HTML元素。它们与操作系统密切相关,可能很难设计,特别是在IE8上。

您可以选择将SELECT包装在DIV中并将溢出设置为包含该元素,或者使用IE8-speficic CSS声明来调整大小。

请参阅:How does one target IE7 and IE8 with valid CSS?

Use "\9" to target IE8 and below.
Use "*" to target IE7 and below.
Use "_" to target IE6.

Example:

body { 
border:1px solid red; /* standard */
border:1px solid blue\9; /* IE8 and below */
*border:1px solid orange; /* IE7 and below */
_border:1px solid blue; /* IE6 */
}