我正在使用 PIE 来实现一些跨浏览器的 CSS3 效果(渐变背景、圆 Angular 、阴影等),但它把我的 jquery Accordion 搞得一团糟。
基本上,当 PIE 将其 css3-container 元素插入 DOM 时,jquery Accordion 代码无法恢复,因为它期望 Accordion 容器专门填充 H3 和 DIV 元素的交替列表。
有没有人找到让这两个工具很好地协同工作的方法?
最佳答案
使用 pie.js 代替 CSS PIE,pie.js 给您的简单好处是您可以决定何时应用 pie 类,您可以找到关于如何使用 pie.js 的很好的文档 here .只需通过 javascript 方式,在 jQuery 执行代码后应用饼图,因此它不应该与标记混淆。 [虽然我要测试它]
你的 pie 代码应该是这样的
$('.accordion').accordion({
parameter:value;
});
$('.pieElement').each(function(){
PIE.attach(this);
});
另一种方法是使用 gutters,在使用 webkit 编写移动 web 应用程序时,我发现 gutters 非常有用,尤其是使用 polyfills 时。
使用装订线你的代码可以看起来像
<div id="accordion">
<h3><span class="gutter"><a href="#">Section 2</a></span></h3>
<div>
<div class="gutter">
<p>
Sed non urna. Donec et ante. Phasellus eu ligula. Vestibulum sit amet
purus. Vivamus hendrerit, dolor at aliquet laoreet, mauris turpis porttitor
velit, faucibus interdum tellus libero ac justo. Vivamus non quam. In
suscipit faucibus urna.
</p>
</div>
</div>
</div>
然后将你的 PIE CSS3 应用到 gutters 上,从我读到的关于 PIE 的内容来看,它似乎在元素的父级内部应用了 VML 标记,如果是这样使用 gutters,将在不更改标记的情况下应用样式。
关于css - PIE 和 JQueryUI Accordion 的冲突,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9239337/