Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/77.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Html -ms transform won';在IE10中,不能对表格标题组(thead)进行操作(大概在下面)_Html_Css_Internet Explorer_Cross Browser - Fatal编程技术网

Html -ms transform won';在IE10中,不能对表格标题组(thead)进行操作(大概在下面)

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

有人能帮我找到一种方法让-ms-transform在一个表头上工作吗?上下文是,我正在重新定位标题(使用Javascript和CSS转换),当用户向下滚动到标题不再可见时(并且如果没有可见的列标题,用户可能无法读取或理解数据),使标题粘贴到屏幕顶部

(没有Javascript),但我也会在这里发布代码:

<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,否则列大小将与表大小不匹配。我不知道还有什么其他方法可以实现这一点