2011-11-08 90 views
3

我正在使用jQuery UI 1.8 - 我使用element.button()方法將按鈕功能應用到我的html按鈕元素。jquery的用戶界面按鈕定位

現在一切正常,直到我動態地添加按鈕元素上方的另一個元素。按鈕保持原樣,就像是位置:絕對。但是這隻發生在IE8/IE9中。當你「擺脫」他們時,他們糾正自己的位置。有沒有解決的辦法?

非常感謝

代碼添加:

這是我使用的表。我試着用兩個浮動的div較早,但試圖用表代替,以確保我的CSS沒有造成問題的原因:

<table style="width:400px"> 
<tr><td class="subheader">Aufgaben</td> 
<td style="text-align: right"> 
<button class="versions">Historie</button></td> 
</tr></table> 

現在我把按鈕方法

$(".versions").button({ 
    icons: { 
     primary: "ui-icon-calendar" 
    } 
}); 

這是怎麼我添加元素按鈕上方,實際上我只設置從顯示的元素:無顯示:塊

$(".ui-state-highlight").css("display", "block"); 

現在結果作爲本人先前描述的,按鈕元件只是坐在同POSITI隨着其他元素進一步向下移動其位置。

+0

提供了一些代碼,我認爲它可能是邊框或填充/邊距問題。但我可能是錯誤的:) – Val

+0

我不知道你是否使用螢火蟲或不,但我覺得它非常有用,尤其是對於這些東西,你的問題,似乎是在CSS上,檢查螢火蟲,爲Firefox,或鉻開發人員工具,那麼你應該檢查,行高,邊距,填充,邊框,我認爲他們之間的問題,保持按鈕的地方,否則張貼鏈接到網站,我可以調試它,ñ讓你知道問題出在哪裏:) – Val

+0

使用float:left;應該修復它 – Val

回答

1

這將與jQuery ui調用的CSS樣式有關,如果您尚未獲得這些樣式,請確保您擁有所有的樣式測試!

這是我應該怎樣做:

<div id="container" style="float: left; width: 100%"> 
<div id="left" style="float: left; width: 40%"> 
    <p style="width: 100%; height: 30px display: block"><a href="#" style="displaY: block">Button 1</a></p><!-- change to suit --> 
</div> 
<div id="right" style="float: left; width: 40%;"> 
    <p style="width: 100%; height: 30px; display: block"><a href="#" style="displaY: block">Button 2</a></p> 
</div> 

,然後調用你的UI按鈕 - 它只是與你是如何編碼和風格的它的一個問題!

0

好的問題已經通過在我設置display:block的元素下面添加一個<br />來解決。我有時不理解IE的盒子模型。

+1

http://jsfiddle.net/jphellemons/qPDZX/沒有錯。只是在IE7中測試它 –

1

是位置被改變,因爲默認爲display: inline-block

jQuery UI的,因爲它影響的是text-align和其他文本特定的CSS屬性可以在它(因爲它需要是inline),並使用正在使用此width和其他對象特定的CSS屬性可以在它被使用過(因爲它需要是block

所以,如果你設置displayblock顯示按鈕再次text-align不會有按鈕任何影響了,所以你需要設置displayinline-block再次顯示按鈕