jQuery Isotope library with HTML tables

jQuery Isotope library with HTML tables

本文关键字:HTML tables with library Isotope jQuery      更新时间:2023-09-26

在处理需要简单排序/过滤系统的大量表格数据时,我发现了同位素库,它似乎完全符合我的需求,并提供了许多漂亮的视觉效果和功能。我希望能够使用 Isotope 对表格行进行排序和过滤,并且我想出了一个似乎有效的基本演示。但是,存在一些错误:

  • 我正在使用
  • 部分作为过滤器和行标题,所以我将同位素选择器应用于 。但是,当使用 tbody 作为容器初始化同位素时,每行中的表格单元格会丢失表格格式分配的宽度。这不是什么大问题,因为如果需要,我可以手动设置列宽,但在当前上下文中这很烦人。
  • 这些行放置在表外部的表的容器元素的左上角。tbody 元素上的相对位置似乎不会影响行的绝对位置样式规则(由 Isotope 自动应用(,就像普通div 一样。通常,如果使用绝对或相对定位来定位容器,则绝对定位将相对于其容器元素,但此处似乎并非如此。

表格行正在正确过滤,同位素库正在正确应用动画和样式,但这些例外情况除外。如果可能的话,我想继续使用表格,因为维护此页面的人将通过CMS进行,并且对HTML或CMS用来一致地生成任何HTML结构的所见即所得编辑器的了解不够基本表。有人对解决这两个问题有任何建议吗?谢谢!

编辑:作为附录,我已经解决了我遇到的最初问题。事实证明,tbody 元素不接受位置:相对或位置:绝对属性,因此表行未正确放置。将整个表格设置为位置:相对解决了主要放置问题,尽管行随后被移动到表格的左上角。我通过在 Javascript 中将表行顶部属性偏移 thead 元素的高度来解决此问题,因为没有 Javascript,显示是正常的。

这在Firefox,Chrome,Opera和Safari中运行良好。但是,IE 7、8 和 9 都有渲染问题,更糟糕的是,它们都是不同的渲染问题。IE9拒绝放置具有正确偏移量的表格单元格,IE8根本不显示行,IE7似乎将整个情况解释为"爆炸!至少我遇到的主要问题解决了!

我已经集成了Wesley的风格建议来实现Isortope——一个使用Isotope进行表排序的jQuery插件。

它通过自动将表格生成的列宽转换为内联样式来解决列宽等问题。 这样,最终表将显示为初始表。

简单的演示在这里。

在此处下载。