2017-01-09 64 views
0

我已设置的div,列出如下所占据的空间,以及i具有其可以具有类型为发票,权利要求或草案效应初探。 如果我在响应中得到“草稿”,那么我将只显示索赔div,其余两个将被隐藏,但问题是上面的两个div是隐藏和占据空间的(也就是说,从上面留下一个间隙,然后显示草案)。如何删除</p> <pre><code><div id="invoice"></div> <div id="claim"></div> <div id="draft"></div> </code></pre> <p>通过隐藏层

我使用如下CSS,

$("#draft").css('flex','flex-wrap'); // for showing the content in a straight line. 
$("#draft").css('display','block'); 

,并隐藏它,

$("#draft").css('display','none'); 

同样,对于所有的ID。我对此很陌生,所以如果我在某个地方错了,请纠正我。提前致谢。

+3

使用显示:没有,没有采取空间 - 如果你使用visibility:hidden的,有。在这种情况下,它是挠性是打破它:http://stackoverflow.com/questions/27144702/how-to-reset-display-property-for-flex-item – mplungjan

+0

我不知道如何显示:没有占用空间... – epascarello

回答

1

如果我明白你的问题,下面的答案可能会有所帮助。

div { 
 
    width: 40px; 
 
    height: 80px; 
 
} 
 
div.anyOne:empty { 
 
    display: none 
 
}
Div which has some data will be visible 
 
<br/> 
 
<br/> 
 
<div id="invoice" class="anyOne">Invoice</div> 
 
<div id="claim" class="anyOne"></div> 
 
<div id="draft" class="anyOne"></div>

0

使用display: none;完全隐藏的元素,并留下了空间。

使用visiblity: hidden来隐藏元素,同时留下原来的空间。

div{ 
 
    background-color:red; 
 
    width: 150px; 
 
    height: 50px; 
 
    border: solid 1px black; 
 
} 
 

 
#draft { 
 
    display: none; 
 
}
<div id="invoice">invoice</div> 
 
<div id="claim">claim</div> 
 
<div id="draft">draft</div> 
 
<div id="another">another</div>

相关问题