我最近在我的网站上添加了一些css,它在所有浏览器中运行得非常好,除了IE 7及更低版本,我不确定为什么我不是css guru(还有))并且我的css可能错了,但是你可以解释是什么让IE7和更低版本弄乱了网站的外观吗?如果你在IE8或任何其他浏览器和IE7中进行比较,你会看到我在说什么。你能指出问题所在吗?
侧边栏的CSS:(我只包含了这个,因为一旦我添加了这部分代码就会出现问题)
#sidebar {
width: 440px;
float: right;
}
/* Navigation Menu */
#navigationMenu {
width: 50px;
position: absolute;
z-index: 99;
}
#navigationMenu li {
list-style: none;
height: 39px;
padding: 2px;
width: 40px;
}
#navigationMenu span {
width: 0;
left: 38px;
padding: 0;
position: absolute;
overflow: hidden;
font-size: 18px;
font-weight: bold;
letter-spacing: 0.6px;
white-space: nowrap;
line-height: 39px;
-webkit-transition: 0.25s;
-moz-transition: 0.25s;
-o-transition: 0.25s;
-ms-transition: 0.25s;
transition: 0.25s;
}
#navigationMenu a {
background: url("../images/nav_bg.png") no-repeat;
height: 39px;
width: 38px;
display: block;
position: relative;
text-decoration: none;
}
#navigationMenu a:hover span {
width: auto;
padding: 0 20px;
overflow: visible;
}
#navigationMenu a:hover {
text-decoration: none;
}
/* Home Button */
#navigationMenu .home {
background-position: 0 0;
}
#navigationMenu .home:hover {
background-position: 0 -39px;
}
#navigationMenu .home span {
background-color: #7da315;
color: #3d4f0c;
text-shadow: 1px 1px 0 #99bf31;
}
/* Categories Button */
#navigationMenu .categories {
background-position: -38px 0;
}
#navigationMenu .categories:hover {
background-position: -38px -39px;
}
#navigationMenu .categories span {
background-color: #1e8bb4;
color: #223a44;
text-shadow: 1px 1px 0 #44a8d0;
}
/* Top Button */
#navigationMenu .top {
background-position: -76px 0;
}
#navigationMenu .top:hover {
background-position: -76px -39px;
}
#navigationMenu .top span {
background-color: #c86c1f;
color: #5a3517;
text-shadow: 1px 1px 0 #d28344;
}
/* AntiTop Button */
#navigationMenu .antiTop {
background-position: -114px 0;
}
#navigationMenu .antiTop:hover {
background-position: -114px -39px;
}
#navigationMenu .antiTop span {
background-color: #af1e83;
color: #460f35;
text-shadow: 1px 1px 0 #d244a6;
}
/* Logo styling */
#logo {
width: 390px;
margin: 0 0 0 50px;
position: absolute;
z-index: -1;
}
/******/
#sideWrapper {
width: 437px;
background: url("../images/sidebar_strip.png") repeat-x;
padding: 15px 0 0 3px;
margin: 190px 0 0 0;
}
答案 0 :(得分:5)
使用float:xxx
时,您还应附加display: inline
以修复较旧的IE行为。
在IE6中:hover
仅适用于<a>
,修正:http://peterned.home.xs4all.nl/csshover.html
您似乎在没有实际设置position: absolute;
/ top
/等的情况下使用left
。
使用http://www.twinhelix.com/css/iepngfix/之类的'pngfix'来使用透明的png。
使用谷歌和http://haslayout.net/之类的网站来寻找乐趣,即错误。
答案 1 :(得分:3)
使用CSS重置
将this code添加到CSS的顶部
答案 2 :(得分:1)
如果没有代码的示例,我建议最开始的人就是逐行注释掉上面的CSS,直到找到破坏布局的确切CSS。我使用的另一个技巧是为所有东西添加背景颜色,这样你就可以直观地看到事情的发展方向。