我正在开发我的第一个网站(我是一个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;
}
答案 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 */
}