我有一个带悬停效果的简单水平菜单。 它在Chrome / Firefox中显示得很好,但在IE11中,它们之间有一个1px的边框。
将鼠标悬停在左侧链接上时可以看到它:http://jsfiddle.net/cMeE5/
以下是截图:IE11 Screenshot http://users.telenet.be/mhd/ie11.png
这个垂直边框并不坏,但是同样的边框总是显示在菜单项的底部(但它不会在JSFiddle中重现)。
我也尝试添加完整的CSS重置,但这不会改变任何内容。
这是JSFiddle上的代码:
<div id="navcontainer">
<div id="midnav">
<ul>
<li><a href="#">Link A</a></li>
<li class="activesub"><a href="#">Link B</a></li>
</ul>
</div>
</div>
<div id="maincontainer">
<div id="main">
<h1>Test</h1>
</div>
</div>
CSS:
* { margin: 0; padding: 0;}
html { min-height: 100%; height: 100%; margin-bottom: 1px; overflow-y: scroll;}
body {
font-family: Verdana, Geneva, Tahoma, sans-serif;
font-size: 0.875em;
background-color: #ebebeb;
color: black;
height: 100%;
}
a, a:active, a:hover, a:visited, a:link {
text-decoration: none;
font-weight: none;
background-color: none;
color: inherit;
}
/********************/
/*** SUBNAVIGATIE ***/
/********************/
#navcontainer {
width: 100%;
background-color: #464646;
}
#midnav {
width: 1000px;
margin: 0 auto;
color: white;
padding-top: 0.3em;
}
#midnav ul {
list-style-type: none;
display: table;
}
#midnav li {
display: table-cell;
-moz-border-radius-topleft: 7px;
-webkit-border-top-left-radius: 7px;
border-top-left-radius: 7px;
-moz-border-radius-topright: 7px;
-webkit-border-top-right-radius: 7px;
border-top-right-radius: 7px;
-webkit-transition: all 0,1s ease;
-moz-transition: all 0,1s ease;
-o-transition: all 0,1s ease;
-ms-transition: all 0,1s ease;
transition: all 0,1s ease;
}
#midnav a {
display: block;
padding: 0.3em 1em 0.5em 1em;
}
.activesub, #midnav li:hover {
color: #464646;
background-color: #ebebeb;
}
/********************/
/*** MAIN CONTENT ***/
/********************/
#maincontainer {
width: 100%;
background-color: #ebebeb;
}
#main {
width: 1000px;
margin: 0 auto;
color: #464646;
}
#maincontainer p {
margin-bottom: 1em;
margin-top: 1em;
}
答案 0 :(得分:1)
我仍然不确定导致IE问题的原因,但底部1px空间的解决方案是向LI元素添加1px边框(条件IE CSS )
#midnav li {
border-bottom: 1px solid #464646;
}
#midnav .activesub, #midnav li:hover {
border-bottom: 1px solid #ebebeb;
}
答案 1 :(得分:1)
您可以添加负底边距以修复IE的错误计算..
margin-bottom:-1px;
答案 2 :(得分:0)
该行来自navcontainer
div的背景颜色。问题的根源可能是由于浏览器之间的字体渲染不同(特别是考虑到0.875em的奇数缩放)。 padding-top
div的midnav
属性为0.3em,大小基于字体呈现。例如,将此值更改为6px,可以对齐midnav
并消除问题:
#midnav {
width: 1000px;
margin: 0 auto;
color: white;
padding-top: 6px;
}
您还可以在禁用正文的font-family属性时看到差异。 IMO最好在对齐div时坚持使用像素。