IE 11 tr:active 选择器是不是损坏?

Posted

技术标签:

【中文标题】IE 11 tr:active 选择器是不是损坏?【英文标题】:Is IE 11 tr:active selector broken?IE 11 tr:active 选择器是否损坏? 【发布时间】:2014-10-28 04:46:45 【问题描述】:

我可以在 IE 中选择和突出显示 td 元素,但不能使用 tr:active 突出显示 tr 中的所有 td。这在 FireFox 和 Chrome 中按预期工作。 Here 是一个 JsFiddle 示例,我在 CSS 中做错了吗?

还在做... 在 Chrome、Safari、Opera 和 FF 中... html

<body>
    <br />
    <div id="rowCount">
        <table class='t2'>
            <tr>
                <th>Click a Cell should highlight all in the row</th>
            </tr>
            <tr>
                <td>tr:active td</td>
                <td>td:active</td>
            </tr>
        </table>
    </div>
</body>

CSS

table 
    cursor: default;
    border: 1px solid black;
    background-color: transparent;

div 
    z-index: 0;
    display: block;
    border:4px solid #CC3300;
    width: 80%;
    background-color: #4D70DB;

th
    text-align: left;

td
    border: 1px solid #000000;


tr:hover td 
    border:1px solid #CC3300;


tr:active td
    background-color: #CC3300;

td:active 
    color: aqua;

【问题讨论】:

奇怪的是 td:active 似乎在 IE 11 中工作,但不是 tr:active td。也许与它如何冒泡到它的父母有关? 似乎是他们认为已修复的旧错误 (connect.microsoft.com/IE/feedback/details/781417/…)。显然不是。只是张贴在那里让他们知道.. :active 不会在 IE 中冒泡。 您可能正在运行旧的 IE11 版本? @Antfish 为什么,这不是发生在你身上吗? 不,只是因为@GabyakaG.Petrioli 建议这是一个旧错误,MS 说他们已经修复了它。 【参考方案1】:

这是正确的,tr:active 不适用于 IE11 及以下版本。我还没有在 Edge 浏览器上测试过,但这显然是一个错误。 IE9、8、7也可以复现。

经过一番研究,我发现大多数其他浏览器之前也有这个错误。请参阅 Firefox 上的 that bug report(完全相同的问题)。

我搜索了 Microsoft Connect,但没有找到准确报告您的问题的错误报告。我创建了一个新的错误报告,您可以使用 this link 关注它。

正如主题帖cmet中的一些人所说,Microsoft Connect上的另一个帖子也有很强的相关性,您可以follow this bug report here。

感谢您指出这一点。这是一个非常好的发现。

PS:可悲的是,这是我能做的最大努力。今天晚些时候我将在 Edge 上进行测试,看看这个问题是否在这个新浏览器上得到解决。


更新

Microsoft Edge 团队联系我添加: “此问题似乎已在 MS Edge 中得到解决。”

【讨论】:

以上是关于IE 11 tr:active 选择器是不是损坏?的主要内容,如果未能解决你的问题,请参考以下文章

IE11 css only 实际工作的选择器[重复]

是否有针对 IE10 的特定 CSS 选择器?

ie11卸载组件存储已损坏怎么办

IE11 和 Firefox 中的日期选择器支持

IE 是不是有最大选择器长度?

css scss:IE11只有选择器hack