2009-04-29 38 views
77

默認情況下,DIV的高度由其內容決定。如何使用jQuery從DIV中刪除高度樣式?

但是,我重寫,並明確設置使用jQuery的高度:

$('div#someDiv').height(someNumberOfPixels); 

我怎樣才能扭轉?我想刪除高度樣式並使其恢復到自動/自然高度?

+1

我不能讓這個工作。看起來,你設置div的高度後,特定的東西(如300像素或其他),你不能將高度設置爲自動。可能是一個jQuery錯誤。 – 2009-11-06 15:09:24

回答

17

可能像

$('div#someDiv').css("height", "auto"); 
+1

這將覆蓋應該應用的現有CSS規則,這可能是一個問題。 – 2015-09-11 04:22:20

-6
$('div#someDiv').removeAttr("height"); 
+0

我不認爲這將適用於嵌入在一個樣式屬性中的CSS高度樣式... – topwik 2011-11-01 18:28:39

+1

是的,這**不**工作。 – 2012-11-27 16:15:12

+0

如果有什麼,你想要removeAttr(「風格」) – mindwire22 2014-01-10 23:59:40

13

要重置div的高度,只是儘量

$("#someDiv").height('auto');

+0

實際上,這確實有用。見上面的答案。 – nonrectangular 2013-06-13 16:13:15

89

刪除高度:

$('div#someDiv').css('height', ''); 
$('div#someDiv').css('height', null); 

像喬HN指出,設置高度auto

$('div#someDiv').css('height', 'auto'); 

(檢查與jQuery 1.4)

19
$('div#someDiv').height('auto'); 

我喜歡用這個,因爲它是對稱的,你如何明確使用.height(VAL)進行設置首先,並且跨瀏覽器工作。

14

你可以試試這個:

$('div#someDiv').height(''); 
0

只是添加到答案在這裏,我用的是高度有兩個選項的功能或者指定高度如果小於窗口的高度,或者設置回自動

var windowHeight = $(window).height(); 
$('div#someDiv').height(function(){ 
    if ($(this).height() < windowHeight) 
     return windowHeight; 
    return 'auto'; 
}); 

我需要垂直居中的內容,如果它比窗口的高度較小,否則讓它自然滾動,這是我想出了

0

感謝大家展示所有這些例子。我是仍然在嘗試你的例子後,在我的小型媒體屏幕(如480像素以下)的聯繫人頁面出現問題。 Bootstrap不斷插入height: auto

元督察/ Devtools將呈現高度:

element.style { 

} 

在我來說,我看到:在瀏覽器窗口section#contact.contact-container | 303 x 743

所以下面的長篇作品,以消除此問題:

$('section#contact.contact-container').height('');

2

$( '#DIV someDiv')的CSS( '高度', '');