经过将近 4 年的使用,我的一位测试人员注意到我的更新面板有些奇怪。
假设我有一个显示模式,它的高度为 100 像素。然后用户切换到编辑模式并且更新面板更新。现在窗口的高度为 500 像素。用户点击保存,返回显示模式,只有 100 像素。
现在dom只占用了100个像素,但是一直到500个像素还有一个滚动条。如果用户将屏幕缩小到 100 像素,他/她仍然会看到一个滚动条,尽管事实上那里已经什么都没有了。
这到底是什么原因造成的,我该如何解决?就像更新面板没有告诉窗口它不再需要所有高度一样。
经过将近 4 年的使用,我的一位测试人员注意到我的更新面板有些奇怪。
假设我有一个显示模式,它的高度为 100 像素。然后用户切换到编辑模式并且更新面板更新。现在窗口的高度为 500 像素。用户点击保存,返回显示模式,只有 100 像素。
现在dom只占用了100个像素,但是一直到500个像素还有一个滚动条。如果用户将屏幕缩小到 100 像素,他/她仍然会看到一个滚动条,尽管事实上那里已经什么都没有了。
这到底是什么原因造成的,我该如何解决?就像更新面板没有告诉窗口它不再需要所有高度一样。
在我看来,您的控件可能使用 visibility="visible|hidden" 而不是 display:"none|block"。
使用IE Dev Toolbar或Firebug查看页面状态期间的 DOM 结构。
也可能只是您的编辑模式对于它的固定高度容器来说太大了。尽量不要限制最外层的容器,这样它就可以随着动态变化的内部内容而增长。
可见性属性确定给定元素是否可见(visibility="visible|hidden")。但是,当可见性设置为隐藏时,被隐藏的元素仍然在页面布局中占据相同的位置。