Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/amazon-s3/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 在添加新元素时,是否可以使列内没有宽度的可滚动div保持与列相同的宽度?_Javascript_Html_Css - Fatal编程技术网

Javascript 在添加新元素时,是否可以使列内没有宽度的可滚动div保持与列相同的宽度?

Javascript 在添加新元素时,是否可以使列内没有宽度的可滚动div保持与列相同的宽度?,javascript,html,css,Javascript,Html,Css,我有一个简化的结构: 我想要的是,当我在列中添加绿色div时,棕色div将与列的宽度保持固定,而不管它们的长度如何。所以,当我调整页面大小时,它应该随着表格和列一起拉伸和收缩,但当长内容添加到页面内部并添加滚动条时,它应该保持固定。但它不起作用:所有浏览器都没有向brown div添加滚动条,而是拉伸div及其父表以适应新添加的元素,从而违反了表和列的宽度属性。下面是一个示例代码: <script type="text/javascript"> function fu() {

我有一个简化的结构:

我想要的是,当我在列中添加绿色div时,棕色div将与列的宽度保持固定,而不管它们的长度如何。所以,当我调整页面大小时,它应该随着表格和列一起拉伸和收缩,但当长内容添加到页面内部并添加滚动条时,它应该保持固定。但它不起作用:所有浏览器都没有向brown div添加滚动条,而是拉伸div及其父表以适应新添加的元素,从而违反了表和列的宽度属性。下面是一个示例代码:

<script type="text/javascript">
function fu() {
    var d=document.createElement('div');
    d.style.backgroundColor='limegreen';
    d.style.whiteSpace='nowrap';
    var t = document.createTextNode("a;sdlkf asdof aposidfj pasij fpajfpad fpasd p a ds asdjfp jspfia sdpiajds fapdfklgpreogin vnzv.,zxvpvrepi dfvndpf nzd;bnz[obnrb oino");
    d.appendChild(t);
    document.getElementById("dqd").appendChild(d);  
}
</script>
<table style="width:70%">
    <tr>
        <td style="align:right">Title:</td>
        <td style="width:90%">
            <div style="height:300px;overflow:auto;background-color:brown" id="dqd">
                <div style="background-color: limegreen; white-space: nowrap">
                    LoL
                </div>
            </div>
        </td>
    </tr>
</table>
<button onclick="fu()">OK</button>

函数fu(){
var d=document.createElement('div');
d、 风格.背景色='limegreen';
d、 style.whiteSpace='nowrap';
var t=document.createTextNode(“a;sdlkf asdof aposidfj pasij fpajfpad fpasd p a ds asdjfp jspfia sdpiajds fapdfklgprogin vnzv.,zxvpvrepi dfvndpf nzd;bnz[obnrb oino”);
d、 儿童(t);
文件.getElementById(“dqd”).appendChild(d);
}
标题:
英雄联盟
好啊

您需要删除
d.style.whiteSpace='nowrap';
,因为这是导致问题的原因。有关换行的文档,请参阅

如果您真的需要保留
nowrap
,那么我建议将表布局更改为使用
div
元素进行布局。一种可能的解决方案是我推荐的

函数fu(){
var d=document.createElement('div');
d、 风格.背景色='limegreen';
d、 style.whiteSpace='nowrap';
var t=document.createTextNode(“a;sdlkf asdof aposidfj pasij fpajfpad fpasd p a ds asdjfp jspfia sdpiajds fapdfklgprogin vnzv.,zxvpvrepi dfvndpf nzd;bnz[obnrb oino”);
d、 儿童(t);
文件.getElementById(“dqd”).appendChild(d);
}

标题:
英雄联盟

好的
你的问题标题太乱了……你能澄清一下吗?简单一点。你会很快得到答案的。但我希望每个条目都有一行only@mykola添加了这种情况的信息。我相信您必须将
表中的
div
元素更改为
div
内部的
div
。有关详细信息,请参阅它。好吧,使用
float:left
作为标题
div
,虽然在缩小页面时存在div重叠的问题,但它似乎可以正常工作,但没有那么严重。所以,谢谢!我将尝试重新设计我的页面,使用divs而不是table。