我正在使用jquery UI垂直调整div(I.E。使用n句柄)。我正在使用帮助程序,因此它仅在用户停止拖动后调整大小。调整大小后,我调用一个函数来设置周围元素的尺寸,使它们都适合容器。
这适用于chrome和IE,但是在firefox中添加了top的css属性,它将div从容器中吹出。
我已经尝试在事实之后移除顶部值,这有效,但这是一种黑客并且还导致div'跳'。
这是一个错误吗?是否有使用jquery css html等的解决方法?
要查看我的意思,请检查this如何在元素中调整和调整大小,如果在firefox中检查它,则会有一个顶级的css属性,但不会在chrome中。
谢谢, 路加
答案 0 :(得分:3)
在我看来这是一个错误。
解决方法:如果您为top: 0;
IE的css规则添加#resizable
,则chrome和firefox具有相同的行为。另请参阅updated example。
=== UPDATE ===
这是一个firefox错误。我从jQuery UI 可调整大小的方法代码走到jQuery(主)代码的 css 方法,以找到答案。在我的搜索结束时,我发现对于非静态定位元素,firefox返回css top
值auto
,但如果设置了相对位置,则返回0px
;在两种情况下top
都没有定义(它们可以设置为auto
而没有区别 - 它是默认值)。
另见this example。
在 resizable 方法中,此结果有所不同(jQuery UI通过添加类来设置与DOM元素的相对位置)。如果bug(我已向mozilla报告)将被修复,那么你在firefox中的例子的行为应该与chrome中的相同。
如果有新内容,我会在这里报告......
=== UPDATE ===
现在我有一个解决方法:
对于您描述的特殊情况,请将可调整大小元素的css位置手动设置为static
。
添加到您的样式表:
#resizable { position: static; }