隐藏div但保留空白区域

You*_*sef 60 html css jquery hide

我有以下div

CSS

.description {
    color: #b4afaf;
    font-size: 10px;
    font-weight: normal;
}
Run Code Online (Sandbox Code Playgroud)

HTML

<div class="description">Some text here </div>
Run Code Online (Sandbox Code Playgroud)

然后我在一个元素上有一个click函数来隐藏上面的div:

$('#target').click(function(){
  $(".description").hide();
});
Run Code Online (Sandbox Code Playgroud)

当我隐藏div时它会崩溃(停止占用任何空间).这会弄乱我的页面布局.

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

谢谢

Aru*_*hny 116

为此使用visibility css属性

能见度:

visibility属性指定是否呈现元素生成的框.

$(".description").css('visibility', 'hidden');
Run Code Online (Sandbox Code Playgroud)

演示:小提琴

  • `css('visibility','visible')`再次显示元素;) (18认同)

dfs*_*fsq 8

另一种选择是为了完整性.切换opacity:

$(".description").css('opacity', 0); // hide
$(".description").css('opacity', 1); // show
Run Code Online (Sandbox Code Playgroud)

http://jsfiddle.net/KPqwt/

但是visibility,优先使用此任务.


小智 8

值得注意的是,dfsq使用 Opacity:0 的示例仍然允许选择、复制/粘贴内容等,尽管选择时没有可见的文本突出显示。


wiz*_*awu 7

CSS 中有很多方法可以做到这一点。

  • 可见性:隐藏;// 首选
  • 变换:缩放(0);
  • z 索引:-999999;// 不适用于特定定位
  • 不透明度:0;// 单击和输入事件仍然有效


Dar*_*ren 5

尝试:

$(".description").css("visibility", "hidden")
Run Code Online (Sandbox Code Playgroud)

hide() 相当于: $(".description").css("display", "none");

哪个不保留元素占用的空间.

Hidden 使元素不可见,但仍然保留空间.