iframe overflow 换行而不是滚动条

Iframe overflow takes a new line instead of a scroll bar

我创建了一个显示服务器目录列表的网站。在后端,所有目录都被索引并显示在另一个名为 dirpage 的网页中。所以我在 mainpage 中使用了一个 iframe 来显示 dirpage 的内容。主页和主页运行良好。但是当 dirpage 显示在 iframe 中时,内容会溢出。 iframe 宽度限制为 <div> 宽度。问题是 iframe 溢出正在换行显示内容。 这是主页。

<head>
<style>
    #divmain{
        display: flex;
        flex-direction: row;
    }
    #div1{
        background: rgb(244, 236, 225);
        width: 30%;
        height: 600px;
        float: left;     
    }
    #div2{
        background: black;
        width: 70%;
        height: 600px;
        float: right;
    }
    #button1{
        height:44px;
        width:50px;
        float:left;
    }
    #button2{
        height:44px;
        width:50px;
        float:left;
    }
    #input1{
        display:none;
        float:right;
        width:295px;
        height:44px;
    }
    #iframe1{
        height:500px;
        width:390px;
        background: transparent;
        overflow: scroll;
    }
   
</style>
</head>

<body onmousedown="buttonclick1(event)">
    <h1>online storage</h1>
    <div id="divmain">

        <script>        
            function buttonclick1(e){
                if (e.target.id !== "input1")
                    document.getElementById("input1").style.display="none"                    
            }
            function buttonclick2(e){
                if (e.target.id == "button1")
                    document.getElementById("input1").name="folder" 
                if (e.target.id == "button2")
                    document.getElementById("input1").name="file"                     
            }         
        </script>

        <div id="div1">
            <hr style="margin-top:0;">
            <button id="button1" onclick="document.getElementById('input1').style.display='block'" onmousedown=buttonclick2(event)><a>Folder</a></button>
            <button id="button2" onclick="document.getElementById('input1').style.display='block'" onmousedown=buttonclick2(event)><a>File</a></button>
            <form id="form1" action="session" >
                <input id="input1" type="text" name="">
            </form><br><br>      
            <hr style="margin-top:10px;"><br>

            <iframe id="iframe1" src="dirpage.html">
            </iframe>
        </div>
        

        <div id="div2">  
        </div>  
    </div>    
</body>

这是目录页和主页的图片。我无法添加dirpage的代码。因为内容非常敏感。它只包含 <p> 个段落和按钮。

现在我需要做的是用滚动条显示溢出的内容。 不换行。 我试过了overflow: scroll。但它不起作用。任何帮助将不胜感激。

据我了解,您的问题是 iframe 没有按宽度扩展,因此当超过宽度时不是停留在一行而是创建新行?

编辑: 好的,在测试您的页面后,这就是我发现的内容。最初从明文开始后,浏览器 css 给文本一个带有 white-space: pre-wrap; 样式的 <pre> 标签,您的问题可以通过删除 pre-wrap 来解决css 中的样式,问题是您只能从检查元素菜单中编辑它。 另一方面,在尝试使用 html 文件而不是 txt 文件后,“换行符”仅在向文本添加空格键后发生,这是预期的。 我会看看我能从这里做什么,但我想我会更新到而不是让你等待。

我最近遇到了同样的问题,也尝试了 overflow: hidden;,但没有成功,因为 div 没有限制。
因此,您需要限制 div 的大小,例如:max-width: "width"max-height: "height"。或者,如果您不希望它缩放,则只需定义固定的宽度和高度。
相关回答:Overflow Scroll css is not working in the div

编辑: 如果 overflow: hidden; 不起作用,请尝试将其应用于 overflow-x: hidden; & overflow-y: hidden;