2012-10-26 235 views
-1

我需要在應用程序中展開和摺疊按鈕。Mozilla Firefox瀏覽器兼容性問題

支持IE和chrome,但是mozilla firefox顯示的圖像在兩邊都有小空格。

設置不正確,我的代碼如下。

<div class="searchdiv"> 
    <b class="searchlabel">Advanced Search</b> 
    <input type="button" class="Expand_button" onclick="javascript: Expand();"/> 
</div> 

和CSS是,

.Expand_button { 
    margin-right: 5px; 
    cursor: pointer; 
    padding-bottom: 10px; 
    padding-top: 5px;  
    background: #fff url('../images/Expand.jpg') no-repeat center ; 
    height:1px; 
} 

回答

2

首先,內聯JavaScript是壞的。這就是所謂的「侵入式Javascript」。相反,寫你的Javascript,使其反應動作,並保持在一個單獨的JavaScript文件(jQuery的味要簡明扼要):

$(document).ready(function(){ 
    $('input.Expand_button').click(function(){ 
     Expand(); 
    }); 
}) 

你然後取出onclick呼叫你的元素,像這樣:

<input type="button" class="Expand_button" /> 

這就是說,你是否想通過設置height: 1px使輸入隱形?如果是這樣,那就是你的問題。它仍然存在,並且仍然可見。更重要的是,你有填充和邊距,所以當然它仍然會出現。

你想要的是display: none;visibility: hidden,這取決於你正在尋找的確切行爲。 display: none;將完全從DOM樹中取出項目,其他元素將相應地移位。 visibility: hidden;只會使元素不可見,而不更改DOM樹。

如果您使用庫(如jQuery),那麼使用display: none;會更好,因爲那樣您就可以使用jQuery內置的隱藏/顯示函數,這會相應地更改display。如果你不這樣做,那麼你會寫出自己的行爲反應,無論如何,這樣你就可以使用任何你想要的。