我有一个这个CSS类的左侧菜单:
.menu {
overflow-y: auto;
width: 210px;
height: 100%;
position: absolute;
left: 0;
top: 0;
bottom: 0;
background-color: #7145A1;
}
在Firefox和Chrome上,只有在调整窗口大小时才会显示滚动条。在IE上,加载页面时会直接显示滚动条..
我忘记了什么吗?
答案 0 :(得分:0)
不,你没有。 Internet Explorer只是以不同于Firefox或Chrome的方式处理css,结果是它始终显示滚动条。
解决方案是创建一个IE css标记,以防止这种情况发生!
<!--[if IE]>
// IE related css.
<!--[endif]>
现在正好如何自己修理它,但你可能会找到一个回答者。请记住,如果您在IE中使用标签overflow:auto,这意味着它将始终在IE中可见。也许你可以创建一个调节滚动条的脚本,每当你调整脚本时,脚本会添加溢出标记,并在窗口达到一定大小时将其删除。它不是一个美丽的&#34;解决方案,但它可能有效;)
答案 1 :(得分:0)
滚动条移动了一下?
在这种情况下,可能是因为当您指定height:100%
时,IE会设置内容高度并添加一点边距(什么是.menu元素?div?导航?)
因此,在这种情况下,您可以将box-sizing:border-box
添加到您的班级(请注意跨浏览器兼容性!http://www.w3schools.com/cssref/css3_pr_box-sizing.asp ...您使用的I.E版本是什么?)。
如果滚动条被“锁定”(你无法滚动,它们只是显示),嗯,这很奇怪,通常overflow:auto
只在必要时显示它......但IE确实很奇怪事情有时候。
另一点:在I.E 8之前,overflow
属性不受支持,对于I.E 8,您应该使用-ms-overflow
属性。所以在这种特殊情况下,我不知道默认值(它应该是visible
,所以没有滚动条,但对于I.E我不知道......)
我希望我帮忙,