我有一个iframe。内容比我设置的宽度宽,因此iframe获得水平滚动条。我无法增加iframe的宽度,所以我只想删除滚动条。我尝试将scroll属性设置为“no”,但是这会杀死两个滚动条,我想要垂直滚动条。我尝试将overflow-x设置为“hidden”并且在ff中杀死了水平滚动条但在IE中没有。对我来说很难过。
答案 0 :(得分:44)
scrolling="yes" horizontalscrolling="no" verticalscrolling="yes"
将其放入您的iFrame代码中。
你不需要在CSS中尝试格式化它。
答案 1 :(得分:25)
滚动条不是<iframe>
的属性,它是它包含的页面的属性。尝试将overflow-x: hidden
放在内页的<html>
元素上。
答案 2 :(得分:5)
您可以尝试将iframe放入div中,然后使用div进行滚动。您可以在IE中控制div上的滚动而不会出现问题,IE实际上只有iframe滚动问题。这是一个快速的例子,可以解决这个问题。
<html>
<head>
<title>iframe test</title>
<style>
#aTest {
width: 120px;
height: 50px;
padding: 0;
border: inset 1px #000;
overflow: auto;
}
#aTest iframe {
width: 100px;
height: 1000px;
border: none;
}
</style>
</head>
<body>
<div id="aTest">
<iframe src="whatever.html" scrolling="no" frameborder="0"></iframe>
</div>
</body>
</html>
答案 3 :(得分:0)
<iframe style="overflow:hidden;" src="about:blank"/>
应该在IE中工作。 IE6遇到了支持overflow-x和overflow-y的问题。
另外需要注意的是,如果在camelCase中设置“frameborder”属性,则只能删除IE在iframe上的边框。
<iframe frameBorder="0" style="overflow:hidden;" src="about:blank"/>
如果您可以使用CSS正确设置它,但它在IE中不起作用,那就太好了。
答案 4 :(得分:0)
所有这些解决方案对我不起作用或不满意。使用可滚动的DIV,你可以让水平滚动条消失,但是你总是会有垂直滚动条。
因此,对于我可以确保控制所有iframe的固定高度的网站,以下解决方案非常有效。 它只是用DIV隐藏水平滚动条:)
<!-- This DIV is a special hack to hide the horizontal scrollbar in IE iframes -->
<!--[if IE]>
<div id="ieIframeHorScrollbarHider" style="position:absolute; width: 768px; height: 20px; top: 850px; left: 376px; background-color: black; display: none;">
</div>
<![endif]-->
<script type="text/javascript">
if (document.getElementById("idOfIframe") != null && document.getElementById("ieIframeHorScrollbarHider") != null)
{
document.getElementById("ieIframeHorScrollbarHider").style.display = "block";
}
</script>
答案 5 :(得分:0)
您还可以尝试将iframe中包含的页面正文宽度设置为99%。