【发布时间】:2014-02-11 07:46:33
【问题描述】:
- 我有一个相对定位的 div,设置了高度和宽度。
- 然后我有一个绝对定位的 div(在 #1 内),设置了顶部、宽度、高度。
我想要的是:
如果我将内容添加到内部 div(绝对定位),它应该与内容一起增长,尽管它设置了原始高度。
如果内部 div 扩展,那么外部 div(相对定位)也应该扩展。
注意:虽然 stackoveflow.com 上还有其他关于从内部 div 中删除定位的答案。如我所见,这对我不起作用。
因此,我在这里寻找一个基于纯 CSS(或 Javascript,如果 CSS 根本不可能的话)的答案,而无需触及 div 的定位元素。
代码 sn-p [对不起,我不能自己在元素中编写如此嘈杂的 CSS,这是我的工具:/]。为了清楚起见,我按原样发布代码:
<html>
<head>
<title>New Project</title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
</head>
<body style="background-color: lightgray">
<div id="34ef9e8e-7d99-4690-8788-d2caf23cf33e" style="position: relative; clear: both; margin: 0 auto; top:5; left: 5; height: 300; width: 500; font-family: Arial; font-face: Arial; font-size: 12; font-weight: normal; font-style: normal; ; color:#000000; background-color:#ffffff">
<div id="f79e1b12-d4bb-433b-9e2c-33a3c1b2b89a" style="position: absolute; clear: both; border: 1px solid #000000; top:46; left: 97; height: 200; width: 300; font-family: Arial; font-face: Arial; font-size: 12; font-weight: normal; font-style: normal; ; color:#000000; background-color:#ffffff">
<div style=" background-color: #000000; color: #ffffff; line-height:24px; width: 100%; height: 24px"><span style="padding-left: 2px">Title</span></div>
<div style="position: relative;">
Blah, Blah,Blah, Blah,Blah, Blah,Blah, Blah,Blah, Blah,Blah, Blah,<br>
Blah, Blah,Blah, Blah,Blah, Blah,Blah, Blah,Blah, Blah,Blah, Blah,<br>
Blah, Blah,Blah, Blah,Blah, Blah,Blah, Blah,Blah, Blah,Blah, Blah,<br>
Blah, Blah,Blah, Blah,Blah, Blah,Blah, Blah,Blah, Blah,Blah, Blah,<br>
Blah, Blah,Blah, Blah,Blah, Blah,Blah, Blah,Blah, Blah,Blah, Blah,<br>
Blah, Blah,Blah, Blah,Blah, Blah,Blah, Blah,Blah, Blah,Blah, Blah,<br>
Blah, Blah,Blah, Blah,Blah, Blah,Blah, Blah,Blah, Blah,Blah, Blah,<br>
Blah, Blah,Blah, Blah,Blah, Blah,Blah, Blah,Blah, Blah,Blah, Blah,<br>
Blah, Blah,Blah, Blah,Blah, Blah,Blah, Blah,Blah, Blah,Blah, Blah,<br>
Blah, Blah,Blah, Blah,Blah, Blah,Blah, Blah,Blah, Blah,Blah, Blah,<br>
Blah, Blah,Blah, Blah,Blah, Blah,Blah, Blah,Blah, Blah,Blah, Blah,<br>
Blah, Blah,Blah, Blah,Blah, Blah,Blah, Blah,Blah, Blah,Blah, Blah,<br>
Blah, Blah,Blah, Blah,Blah, Blah,Blah, Blah,Blah, Blah,Blah, Blah,<br>
Blah, Blah,Blah, Blah,Blah, Blah,Blah, Blah,Blah, Blah,Blah, Blah,<br>
Blah, Blah,Blah, Blah,Blah, Blah,Blah, Blah,Blah, Blah,Blah, Blah,<br>
Blah, Blah,Blah, Blah,Blah, Blah,Blah, Blah,Blah, Blah,Blah, Blah,<br>
Blah, Blah,Blah, Blah,Blah, Blah,Blah, Blah,Blah, Blah,Blah, Blah,<br>
</div>
</div>
</div>
</body>
【问题讨论】:
-
请发布您的 HTML 和 CSS,或创建一个 jsfiddle。
-
内部元素是否必须绝对定位?
-
@ddenhartog 好吧,这个 html 是由我正在开发的 HTML 表单设计器自动生成的,人们可以通过拖放将任何组件放置在页面上,创建嵌套组件等等。如果我尝试做一些其他技巧而不是获取元素的绝对定位并生成 HTML,那将是一场噩梦。
-
那么你需要使用 JavaScript,因为
position:absolute将元素从堆栈中取出。但我想你会发现绝对和相对会产生相同的结果。让我编辑我的答案以获得一些解释。 -
你愿意使用 jQuery 吗?这会让事情变得容易得多。
标签: javascript html css css-position