【问题标题】:Chrome ignores css rule with ::-ms-checkChrome 使用 ::-ms-check 忽略 css 规则
【发布时间】:2018-04-03 18:59:01
【问题描述】:
input[type="checkbox"], input[type="checkbox"]::-ms-check {
    border: none;
    border-radius: 9px;
}

Chrome 将完全忽略此规则。当我删除 input[type="checkbox"]::-ms-check 时,它可以正常工作。除了为 Chrome 和 IE 创建两个单独的规则之外,还有其他解决方法吗?

【问题讨论】:

  • 无效的选择器部分使完整的规则无效。如果 Chrome 认为 ::-ms-check 无效,那么您别无选择,只能制定这两个单独的规则。这与@keyframes 的情况类似——在这里您也无法将所有供应商前缀“分组”为一个。

标签: css google-chrome internet-explorer-11


【解决方案1】:

不要使用 ::-ms-check 而是使用所有浏览器都支持的 :checked

检查您是否使用此语法: https://developer.mozilla.org/en-US/docs/Web/CSS/:checked

我在 chrome 和 IE11 中运行此示例,它们都可以正常工作。

【讨论】:

  • ::-ms-check 是在 IE 中自定义复选框勾选的唯一方法。
  • 在这种情况下我认为你需要复制它