Listview jQuery移动面板断开css位置:在自动分隔器链接栏中固定

Listview jQuery移动面板断开css位置:在自动分隔器链接栏中固定,listview,jquery-mobile,panel,css-position,Listview,Jquery Mobile,Panel,Css Position,我试图在同一页面上使用jQuery移动面板和jQuery移动自动分割器链接栏,该链接栏具有css位置:fixed。(请参见下面的小提琴链接。) 在Chrome(和iOS Safari)中,当面板div(“defPanel”)出现时,链接栏div(“sorter”)会丢失其固定位置并随页面滚动。在Firefox中,链接栏按预期固定在窗口右侧 如果我删除JQM面板div: <div data-role="panel" id="defPanel">...</div> 。。。

我试图在同一页面上使用jQuery移动面板和jQuery移动自动分割器链接栏,该链接栏具有css位置:fixed。(请参见下面的小提琴链接。)

在Chrome(和iOS Safari)中,当面板div(“defPanel”)出现时,链接栏div(“sorter”)会丢失其固定位置并随页面滚动。在Firefox中,链接栏按预期固定在窗口右侧

如果我删除JQM面板div:

<div data-role="panel" id="defPanel">...</div>
。。。
。。。链接栏的位置:在Chrome中按预期固定工作。谁能告诉我这里有什么问题吗


jsiddle:

位置:fixed在移动浏览器中不起作用*。JQM使用一些或多或少理智的黑客来尝试修复元素。一般规则-如果你想移动,尽可能避免修复任何东西。如果使用JQM,请使用
数据位置=“固定”

请参阅一些关于修复(和避免它;-)的文章:


*)好吧,有时候是这样的。。。但不是真的:-)。

我发现添加一个面板也会弄糟
位置:修复了
,因为JQM在页面内容周围添加了一个巨大的div包装器(使用class
.ui面板内容包装器
):

-webkit-backface-visibility: hidden;
-webkit-transform: translate3d(0,0,0);
在这方面,我们要:

-webkit-backface-visibility: visible;
-webkit-transform: none;

允许固定内容正常工作。我不确定这是否会在不经意间把其他事情弄糟,但这对我来说是个好办法

这里的问题不仅仅是位置:fixed不可靠。每当页面滚动时,javascript(参见上面的fiddle链接)也会更新#sorter div的位置。也就是说,应该是这样的。但当有JQM 1.3面板时,它在Chrome(台式机或移动设备)中不起作用。只有一件事:我必须像这样增加css选择器的特殊性:
div.ui-panel-animate.ui-panel-content-wrap{…}
其他增加特殊性的方法导致面板链接因某种原因中断。