我设法使DIV标签在JavaScript中不可见,将显示设置为none,并将可见性设置为hidden.这个课程也可以实现:
.invisible { display: none; visibility: hidden; }
显示none将确保DIV框为空,隐藏的可见性将确保它不可见.此方法的问题是当我有可滚动的DIV或文本区域溢出的内容,当您设置display:none时,某些浏览器将会忘记这些元素的滚动位置.有没有更好的方式使DIV看不见,而不使用显示属性?我宁愿不要使用JavaScript来记录滚动位置,如果可能的话.
编辑:
我设法解决了你的帮助,我应用了以下:
.invisible { visibility: hidden; position: absolute; top: -9999px; } .visible { visibility: visible; position: static; }
我尝试了左边:-9999px,但这扩展了IE中的垂直滚动条.我也把我的textarea包裹在另一个DIV中,并应用了可见/不可见的样式,因为textarea会失去其滚动位置.我在iPhone,Chrome,Firefox,IE和Safari上测试了这个.只是一个注释,围绕文本区域的DIV在FF中似乎没有帮助,滚动条仍然重置.但是可滚动的DIV现在很好.谢谢你的帮助!
解决方法
这可能会工作:
.invisible { position: absolute; left: -9999px; }
编辑:我将在HTML5 Boilerplate代码中查看common helpers,探讨其他方法使事情消失.