Html -ms transform won';在IE10中,不能对表格标题组(thead)进行操作(大概在下面)
有人能帮我找到一种方法让-ms-transform在一个表头上工作吗?上下文是,我正在重新定位标题(使用Javascript和CSS转换),当用户向下滚动到标题不再可见时(并且如果没有可见的列标题,用户可能无法读取或理解数据),使标题粘贴到屏幕顶部 (没有Javascript),但我也会在这里发布代码:Html -ms transform won';在IE10中,不能对表格标题组(thead)进行操作(大概在下面),html,css,internet-explorer,cross-browser,Html,Css,Internet Explorer,Cross Browser,有人能帮我找到一种方法让-ms-transform在一个表头上工作吗?上下文是,我正在重新定位标题(使用Javascript和CSS转换),当用户向下滚动到标题不再可见时(并且如果没有可见的列标题,用户可能无法读取或理解数据),使标题粘贴到屏幕顶部 (没有Javascript),但我也会在这里发布代码: <style> body { background-color: gray; padding: 0; margin: 0;} #move-table { t
<style>
body { background-color: gray; padding: 0; margin: 0;}
#move-table {
transform: translate(10px, 10px);
-ms-transform: translate(10px, 10px);
-webkit-transform: translate(10px, 10px);
-o-transform: translate(10px, 10px);
-moz-transform: translate(10px, 10px);
background-color: green;
}
#move-thead {
transform: translate(10px, 10px);
-ms-transform: translate(10px, 10px);
-webkit-transform: translate(10px, 10px);
-o-transform: translate(10px, 10px);
-moz-transform: translate(10px, 10px);
background-color: red;
}
</style>
<table width="400" id="move-table">
<thead id="move-thead">
<tr>
<td>x</td>
<td>x</td>
<td>x</td>
<td>x</td>
</tr>
</thead>
<tbody>
<tr>
<td>x</td>
<td>x</td>
<td>x</td>
<td>x</td>
</tr>
</tbody>
</table>
正文{背景色:灰色;填充:0;边距:0;}
#移动表{
转换:转换(10px,10px);
-ms变换:平移(10px,10px);
-webkit转换:翻译(10px,10px);
-o变换:平移(10px,10px);
-moz变换:平移(10px,10px);
背景颜色:绿色;
}
#移动thead{
转换:转换(10px,10px);
-ms变换:平移(10px,10px);
-webkit转换:翻译(10px,10px);
-o变换:平移(10px,10px);
-moz变换:平移(10px,10px);
背景色:红色;
}
x
x
x
x
x
x
x
x
这在Chrome、Firefox和Opera中运行良好,但毫不奇怪,Internet Explorer(版本10,但可能也是9)的性能并不好。我承认重新定位表头可能没有多大意义,但如果其他浏览器不介意的话(谢天谢地),那么,也许IE有一个解决办法?在IE中使用了许多设置后,结果一无所获,我决定做一个非常少量的研究,发现IE大约在4年前就停止使用纯css粘性表了 然而,有一个解决方案可以在 这使用了jquery,但实现了您似乎想要的目标,并且看起来是解决问题的更长远的解决方案
希望这对您有所帮助。结果表明,转换对单个表单元格有效,因此我设法通过将
-ms transform
专门应用于thead
的所有td
-子级,而不是标头本身来解决此问题
在问题中使用的简化示例中,只需添加以下内容:
#move-thead td {
-ms-transform: translate(10px, 10px);
}
。我的标题现在也在IE中愉快地滚动。出于某种原因,您需要添加
display:block
到#移动ad{..}
。是的,但它不再是一个表头。那么它是什么呢?一个块级元素。如果您在两行中都添加了两列,您将看到显示:block;在#move thead上,标题不再横跨表格顶部。表示可转换元素应为块级元素。看起来其他浏览器正在以不同的方式应用标准,尽管IE也可以轻松地转换span;)。请澄清,即8、9、10和7不支持问题中给出的css方法。感谢您的努力,我对此表示感谢。但是,我不使用jQuery,因为它对于我的项目来说通常过于臃肿,而且粘性标题必须是thead,否则列大小将与表大小不匹配。我不知道还有什么其他方法可以实现这一点