我希望有一个隐藏的复选框,不占用屏幕上的任何空间.
如果我有这个:
<div id="divCheckbox" style="visibility: hidden">
Run Code Online (Sandbox Code Playgroud)
我没有看到复选框,但仍然会创建一个新行.
如果我有这个:
<div id="divCheckbox" style="visibility: hidden; display:inline;">
Run Code Online (Sandbox Code Playgroud)
它不再创建新行,但占用屏幕上的水平空间.
有没有办法让隐藏的div不占用任何空间(垂直或水平?
CMS*_*CMS 684
使用 display:none;
<div id="divCheckbox" style="display: none;">
Run Code Online (Sandbox Code Playgroud)
visibility: hidden 隐藏元素,但它仍占用布局中的空间.
display: none 从文档中完全删除元素,它不占用任何空间.
C_B*_*C_B 47
自HTML5发布以来,现在可以简单地做到:
<div hidden>This div is hidden</div>
Run Code Online (Sandbox Code Playgroud)
注意:某些旧浏览器不支持此功能,最明显的是IE <11.
除了CMS的答案之外,您可能需要考虑将样式放在外部样式表中并将样式分配给id,如下所示:
#divCheckbox {
display: none;
}
Run Code Online (Sandbox Code Playgroud)
由于您应该关注CSS中的可用性和通用性,而不是使用id指向特定的布局元素(这会产生大量或多个css文件),您可能应该在链接的.css文件中使用true类:
.hidden {
visibility: hidden;
display: none;
}
Run Code Online (Sandbox Code Playgroud)
或者极简主义者:
.hidden {
display: none;
}
Run Code Online (Sandbox Code Playgroud)
现在您只需通过以下方式应用它:
<div class="hidden"> content </div>
Run Code Online (Sandbox Code Playgroud)
要仅在视觉上隐藏元素但将其保留在 html 中,您可以使用:
<div style='visibility:hidden; overflow:hidden; height:0; width:0;'>
[content]
</div>
Run Code Online (Sandbox Code Playgroud)
或者
<div style='visibility:hidden; overflow:hidden; position:absolute;'>
[content]
</div>
Run Code Online (Sandbox Code Playgroud)
可能会出现什么问题display:none?它从 html 中完全删除该元素,因此如果需要访问隐藏元素内容,某些功能将被破坏。
通过鼠标点击显示/隐藏:
<script language="javascript">
function toggle() {
var ele = document.getElementById("toggleText");
var text = document.getElementById("displayText");
if (ele.style.display == "block") {
ele.style.display = "none";
text.innerHTML = "show";
}
else {
ele.style.display = "block";
text.innerHTML = "hide";
}
}
</script>
<a id="displayText" href="javascript:toggle();">show</a> <== click Here
<div id="toggleText" style="display: none"><h1>peek-a-boo</h1></div>
Run Code Online (Sandbox Code Playgroud)
来源:这里
要防止复选框占用任何空间而不将其从 DOM 中删除,请使用hidden.
<div hidden id="divCheckbox">
Run Code Online (Sandbox Code Playgroud)
为了防止该复选框从占用任何空间,也从DOM,使用移除它display: none。
<div id="divCheckbox" style="display:none">
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
907689 次 |
| 最近记录: |