4

有什么方法可以将 DIV 相对于文本 INPUT 发布?

<input type="text" id="inp" style="padding-left: 20px" data-kb="GE" />
<div>GE</div>

我想将 DIV 放在输入字段的顶部,在文本之前。

我知道我可以将它们放在同一个 div 中并相对于它进行定位,但我想知道,有没有办法在没有额外的 DIV 的情况下做到这一点。

编辑:

我忘了提到我的输入字段的父节点中可能有多个节点,因此相对于父节点定位我的 div("GE") 不是一种方法,因为我无法确定输入在其父节点内的位置。我正在寻找一种方法来相对于另一个节点定位一个节点,当该特定元素是单个标签并且不能有任何子节点时。

4

2 回答 2

1

对于我所研究的内容,我的问题没有直接的解决方案。因为输入是单个标签,它不能有任何子节点,因此,它不能相对于输入标签呈现。

我想唯一的解决方案是使用复杂的 javascript 或 jQuery (.postion())。如果解决这个问题是绝对必要的,你将不得不找到输入的位置并将 div 相对于它放置,但话又说回来,这不是一个好的解决方案,因为如果输入字段被移动,div 将保持在同一个地方,除非你听到那个特定的 DOM 突变(我什至不知道它是否可能)。

这就是我到目前为止所学到的,我希望是错的,所以如果有人证明我错了,我会很高兴:)

于 2012-10-19T18:24:34.433 回答
1

您可以通过对您的 应用否定margin-top:来完成此操作div

div { 
  margin-top: -16px;    
}​

看看这个 JSFiddle。

于 2012-10-09T14:53:53.320 回答