gpt4 book ai didi

javascript - 当其中的数据在运行时增加时,如何使 div 容器可扩展?

转载 作者:太空宇宙 更新时间:2023-11-04 15:13:05 25 4
gpt4 key购买 nike

我在这个问题上苦苦挣扎了很长一段时间。我在 html 页面内创建了一个主容器,该页面还包含 3 个容器(左、中和右)。在中间容器中,有一些DIV,可以根据用户提交的文本增加。随着中间容器内文本值的增加,我希望每个容器(主、右、左和中间)增加那里的大小以适应内容。但它没有发生,发布的数据来自容器。

我在 CSS 中将位置作为所有容器的绝对位置。

能否请您提出实现它的方法。哪种方式更好,CSS 还是 JavaScript?感谢您的帮助![下面是我所面对的屏幕截图][10]

伙计们请看下面的html代码和css。这是我想做的事情。目前我将右容器保持为position:relative,因此当右容器内的 div 增加时,右容器正在扩展。如果我将中间容器的位置保持为相对位置,那么它将根据其中的内容展开。但是,我想要的是,如果子容器(左、中或右)中的任何一个扩展,主容器也应该扩展。有什么方法可以使用 CSS 来完成此操作吗?如果没有,如何使用 JavaScript 和 JQuery 实现?

.wrapper {
position: relative;
top:10px;
width: 100%;
border: 1px solid black;
}
.left{
position:absolute;
top:0px;
left:0px;
width: 300px;
margin: 0 auto;
background-color:red;
border: 1px solid black;
}
.middle{
position:absolute;
top:0px;
left:400px;
width: 300px;
background-color:blue;
border: 1px solid black;
}
.right{
position:relative;
top:0px;
width: 300px;
left:800px;
background-color:pink;
border: 1px solid black;
}

<html>
<head>
<link rel="stylesheet" type="text/css" href="SampleCSS1.css">
</head>
<body>

<div class="wrapper">
<div class="left">
<div>div in left</div><div>div in left</div><div>div in left</div>
<div>div in left</div><div>div in left</div><div>div in left</div>
<div>div in left</div><div>div in left</div><div>div in left</div>
<div>div in left</div><div>div in left</div><div>div in left</div>
<div>div in left</div><div>div in left</div><div>div in left</div>
<div>div in left</div><div>div in left</div><div>div in left</div>
<div>div in left</div><div>div in left</div><div>div in left</div>
<div>div in left</div><div>div in left</div><div>div in left</div>
</div>

<div class="middle">
<div>div in middle</div><div>div in middle</div><div>div in middle</div>
<div>div in middle</div><div>div in middle</div><div>div in middle</div><div>div in middle</div><div>div in middle</div>
<div>div in middle</div><div>div in middle</div><div>div in middle</div><div>div in middle</div><div>div in middle</div>
<div>div in middle</div><div>div in middle</div><div>div in middle</div><div>div in middle</div><div>div in middle</div>

</div>

<div class="right">
<div>div in right</div><div>div in right</div><div>div in right</div>
<div>div in right</div><div>div in right</div><div>div in right</div>
<div>div in right</div><div>div in right</div><div>div in right</div>
<div>div in right</div><div>div in right</div><div>div in right</div>
<div>div in right</div><div>div in right</div><div>div in right</div>
<div>div in right</div><div>div in right</div><div>div in right</div>
<div>div in right</div><div>div in right</div><div>div in right</div>
<div>div in right</div><div>div in right</div><div>div in right</div>
<div>div in right</div><div>div in right</div><div>div in right</div>
<div>div in right</div><div>div in right</div><div>div in right</div>

</div>

</div>

</body>
</html>

enter code here

最佳答案

因为您使用 position:absolute 容器的高度将始终为 0(或类似的值,具体取决于浏览器)。

因此,如果您可以在没有 position:absolute 的情况下对主容器执行此操作,并且在中间容器始终高于其他容器的情况下,您可以这样做:

<div class="wrapper">
<div class="main"></div>
<div class="sub sub-left"></div>
<div class="sub sub-right"></div>
</div>

.wrapper {
position: relative;
width: 960px;
}
.main {
width: 760px;
margin: 0 auto;
}
.sub {
position: absolute;
top: 0;
bottom: 0;
width: 100px;
}
.sub-left {
left: 0;
}
.sub-right {
right: 0
}

如果没有 position:absolute 对所有容器都无法做到,并且它需要在 ie7 中工作,则必须使用 javascript 来完成。

关于javascript - 当其中的数据在运行时增加时,如何使 div 容器可扩展?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15206950/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com