2012-10-09 23 views
4

有沒有什麼辦法可以將DIV相對於文本INPUT?postion DIV相對於文本INPUT

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

我想在文本之前的輸入字段頂部放置DIV。

我知道我可以把它們放在同一個div中,並且它相對於它而言,但是我想知道,有沒有辦法在沒有附加DIV的情況下做到這一點。

編輯:

我忘了提,可能有多個節點在我的輸入字段的父節點,所以定位我的DIV(「GE」)相對於父母不是很長的路要走,因爲我無法確定其父項內的輸入位置。我特意尋找一種方法來定位一個節點相對於其他節點,當該特定元素是一個標籤,並且不能有任何孩子。

+1

不,你需要有一個容器'div'做這件事 –

+0

我想這真的是唯一的解決方案:( –

回答

0

對於我已經研究並沒有直接解決我的問題。由於輸入是單個標記,因此它不能有任何子節點,因此無法相對於輸入標記進行渲染。

我想唯一的解決方案將是複雜的JavaScript或jQuery(.postion())。如果解決這個問題是絕對必要的,你將不得不尋找位置的輸入和相對於它的div,但是再一次,這不是一個好的解決方案,因爲如果輸入字段被移動,div將保持在同一個地方,除非你聽到那個特定的DOM變異(我甚至不知道它是否可能)。

這是我到目前爲止已經學會了,我想是錯的,所以如果有人證明我錯了,我會非常高興:)

1

您可以通過施加負margin-top:div做到這一點:

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

Check out this JSFiddle.

+0

實際上並沒有幫助。如果我有兩個輸入彼此相鄰,我想相對於第二個位置的div,你的代碼將它對齊第一個 –

+0

如果如果是這樣的話,你應該編輯你的問題,並指定多個輸入是一個考慮因素,否則沒有辦法讓我或其他人以某種方式知道這個要求。 –

+0

如果我的問題含糊不清,我會糾正它;) –