隐藏div但保留空白


73

我有以下div元素:

.description {
  color: #b4afaf;
  font-size: 10px;
  font-weight: normal;
}
<div class="description">Some text here</div>

然后,我对元素具有单击功能以隐藏上面的div:

$('#target').click(function(){
  $(".description").hide();
});

当我隐藏div时,它会折叠并停止占用空间。这弄乱了我页面的布局。

有没有办法隐藏div,但仍保持以前占用的空间?我不想更改字体颜色,因为它仍然可以选择。

Answers:



10

为了完整性,还有另一个选择。切换opacity

$(".description").css('opacity', 0); // hide
$(".description").css('opacity', 1); // show

http://jsfiddle.net/KPqwt/

但是visibility,首选使用此任务。


7

尝试:

$(".description").css("visibility", "hidden")

hide() 等效于: $(".description").css("display", "none");

这不会保留元素占用的空间。

Hidden 使元素不可见,但静止图像保留空间。


3

重要的是要注意,尽管选择时没有可见的文本高亮显示,但使用Opacity:0的dfsq的示例仍将允许选择内容,复制/粘贴内容等。


1

您可以将另一个div包裹在它的外部,并可能告诉它要占据的特定高度。这样,您的内部div可以显示,隐藏和淡出等等,而外部div可以压住页面上的房地产。


1
你可以。但是,在什么情况下,当可接受的答案(从一年前开始!)更简单(不需要额外的div)并且不需要对特定高度进行硬编码时,您想这样做吗?即使您想要一个特定的高度,您也不会这样做,您只需将高度以css放在已经存在的元素上。我的意思不是无礼,我很高兴拥有替代解决方案是很好的。问题解决一年后,我似乎对似乎总是劣等的解决方案的建议感到困惑。我想念什么吗?
制造商
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.