相对于文本INPUT的位置DIV

时间:2012-10-09 14:39:34

标签: css dom

我有什么方法可以相对于文本INPUT设置DIV?

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

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

我知道我可以将它们放在相同的div中并相对于它设置它,但我想知道,如果没有额外的DIV,有没有办法做到这一点。

修改

我忘了提到我输入字段的父节点中可能有多个节点,所以将div(“GE”)相对于父节点定位不是一种方法,因为我无法确定输入的位置它的父母。我特意寻找一种方法来将一个节点相对于另一个节点定位,当该特定元素是单个标签且不能有任何子节点时。

2 个答案:

答案 0 :(得分:1)

您可以通过对margin-top:

应用否定div来实现此目的
div { 
  margin-top: -16px;    
}​

Check out this JSFiddle.

答案 1 :(得分:1)

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

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

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