通过将显示设置为无并将可见性设置为隐藏,我设法使 DIV 标记在 JavaScript 中不可见。它也可以用这个类来实现:
.invisible {
display: none;
visibility: hidden;
}
不显示将确保 DIV 框为空,隐藏可见性将确保它不可见。这种方法的问题是当我有内容溢出的可滚动 DIV 或文本区域时,当您设置 display: none 时,某些浏览器会忘记这些元素的滚动位置。有没有更好的方法在不使用 display 属性的情况下使 DIV 不可见?如果可能的话,我宁愿不使用 JavaScript 来记录滚动位置等。
编辑:
我设法在您的帮助下解决了这个问题,我应用了以下内容:
.invisible {
visibility: hidden;
position: absolute;
top: -9999px;
}
.visible {
visibility: visible;
position: static;
}
我试过left:-9999px,但这会扩展IE中的垂直滚动条......我还将我的textarea包装在另一个DIV中并对其应用可见/不可见样式,因为textarea否则会失去其滚动位置。我在我的 iPhone 上的 Chrome、Firefox、IE 和 Safari 中对此进行了测试。请注意,包裹在 textarea 周围的 DIV 似乎对 FF 没有帮助,并且滚动条仍然重置。但是现在可滚动的 DIV 很好。谢谢你的帮助!