我想有一个隐藏的复选框,不占用屏幕上的任何空间。

如果我有这个:

<div id="divCheckbox" style="visibility: hidden">

我没有看到复选框,但它仍然创建了一个新行。

如果我有这个:

<div id="divCheckbox" style="visibility: hidden; display:inline;">

它不再创建新的行,但它会占用屏幕上的水平空间。

是否有一种方法可以让一个隐藏的div不占用任何空间(垂直或水平)?


当前回答

考虑使用<span>来隔离要设置样式的标记小段,而不破坏布局。这似乎比强制<div>不显示本身更习惯——如果实际上复选框本身不能按您想要的方式进行样式设置的话。

其他回答

使用style="display: none;"。此外,您可能不需要DIV,只需设置要显示的样式:复选框上没有样式可能就足够了。

使用显示:没有;

<div id="divCheckbox" style="display: none;">

可视性:hidden隐藏了元素,但它仍然占用布局中的空间。 Display: none将元素完全从文档中移除,它不占用任何空间。

为了在视觉上隐藏元素,但在html中保留它,你可以使用:

<div style='visibility:hidden; overflow:hidden; height:0; width:0;'>
  [content]
</div>

or

<div style='visibility:hidden; overflow:hidden; position:absolute;'>
  [content]
</div>

显示可能会出什么问题:没有?它从html中完全删除元素,因此如果需要访问隐藏的元素内容,一些功能将被破坏。

#divCheckbox{显示:none;}

这样就能解决问题了

显示:没有;

这将使元素消失,不占用任何空间。