2009-06-04 70 views
23
<div style="height:0px;max-height:0px"> 
</div> 

將div高度設置爲0px似乎不起作用。Div高度:0px不起作用?

div展開顯示其內容,我們如何防止這種情況發生?

回答

44

如果你真的想要確定它會沒有高度,你可以使用這樣的事情:

display: block; 
line-height:0; 
height: 0; 
overflow: hidden; 

如果您還有關於IE的問題,你還可以添加

zoom: 1; 

它在針對IE瀏覽器條件註釋樣式表。這將觸發IE中的hasLayout屬性。

並且顯示:none與將其設置爲零高度不同。只要看看各種clearfix解決方案的情況,其中而不是從流中移除它至關重要。

+5

你也想確保填充:0; 坦誠地說,處理這類問題最簡單的方法是始終以重置開始。css - 使調試這些事情的X瀏覽器服從更容易 – knight0323 2009-06-04 18:08:43

20

設置overflow:hidden。否則,內容將展開包裝元素。

+3

沒有,內容將溢出纏繞元件和在外面可見。該容器不會展開(除了某些Microsoft瀏覽器(但不包括某些呈現模式))。 – Quentin 2009-06-04 14:22:37

2

嘗試溢出:隱藏

2

你可以嘗試加入「溢出:隱藏」的風格

9

嘗試還設置line-height: 0;

如果你想隱藏你的div徹底,使用display: none;

+2

聽起來像OP真正想要的是「display:none;」。 – 2009-06-04 14:57:58

+0

我有同樣的要求,'顯示:無'使它爲我工作 – 2012-02-28 09:52:04

1

你還沒有說過你正在使用哪個瀏覽器,但我假設IE瀏覽器,因爲它是我知道的唯一瀏覽器heightmin-height。就像其他人已經說過的那樣,overflow:hidden;可以工作,或者line-height: 0;,但你只需要其中的一個。

設置height: 0;將已經觸發IE的hasLayout,所以在這種情況下不需要zoom:1;

2

不太清楚你想要做什麼,斷章取義,但試試這個:

display:none; 
overflow:hidden: 
height:0; 
line-height:0; 
border:0; 
margin:0; 
0
#yiv1734505183 .yiv1734505183portrait{ 
    display:none; 
    font-size:0; 
    max-height:0; 
    line-height:0; 
    padding:0; 
    overflow:hidden; 
} 

@media (min-width:481px){ 
    #yiv1734505183 .yiv1734505183mobile-hide{ 
     display:block; 
     overflow:visible; 
     width:auto !important; 
     max-height:inherit !important; 
     min-height:auto !important; 
    } 
} 
@media (min-width:481px){ 
    #yiv1734505183 .yiv1734505183portrait{ 
     display:none; 
     font-size:0; 
     line-height:0; 
     min-height:0; 
     overflow 
0

這個工作對我來說:

.zippy{ 
    padding: 0; 
    height: 0; 
    overflow: hidden; 
} 

感謝。

0

對於我來說,在Windows 10,火狐58.0.1,它不會完全隱藏,除非使用此:

display: block !important; 
line-height: 0 !important; 
height: 0 !important; 
overflow: hidden !important; 
zoom: 1 !important; 
padding: 0 !important; 
margin-bottom: 0; 
border: none;