0

checkbox有这样的默认 webkit 样式:

input[type="checkbox"] {
    -webkit-appearance: checkbox;
box-sizing: border-box;
}

现在在IE8checkbox中不起作用。我试图通过添加来克服这个问题:

<!--[if IE 8]>
<style>
    input[type="checkbox"] {
        font-size: 12px;
        line-height: 1.2em;
        /*-webkit-appearance: none; */
    }
</style>
<![endif]-->

这是我的HTML,但它仍然无法正常工作。由于我不是前端开发人员,如果问题中有任何问题,请随时编辑。

注意:从我得到的这个问题的评论中,我了解到 webkit 样式不适用于 IE。所以我想我需要找到一种方法来显示默认复选框样式,而不使用 IE 的 Webkit。有人有什么想法吗?

4

2 回答 2

2

开头的样式-webkit-仅适用于使用 Webkit 渲染引擎的浏览器。

IE 不使用 Webkit,因此它不支持以-webkit-前缀开头的任何内容。

CSS 中前缀系统的全部意义在于告诉我们前缀样式是非标准的和/或实验性的。它们只能在一个特定的浏览器引擎中工作。

在许多(但不是全部)情况下,有一种-webkit-样式,这也是 Firefox 和 IE 的等效-moz-样式-ms-。可能还有一些浏览器支持不带前缀的样式。因此,在使用前缀样式时,您应该始终检查浏览器支持以及是否还需要指定其他替代语法。

但即便如此,它们也只有在您使用支持它的浏览器版本时才能工作。特别是 IE8 是一个非常古老的浏览器,并且缺乏对许多更现代的浏览器功能的支持。

如果现代技术在 IE8 中不起作用,您不应该感到惊讶。某些功能有变通方法和“polyfill”脚本,但其他功能根本无法使用此浏览器。

如果您需要支持 IE8,则需要确保您使用的任何功能都可以正常工作,如果不能正常工作,您需要接受这一点并为 IE8 用户提供合理的后备解决方案(因此站点仍然可用),或找到解决方法或替代方法。

CanIUse.com是一个很好的网站,可以访问以了解任何给定功能是否适用于各种浏览器。

于 2013-10-31T11:41:10.963 回答
1

那是因为ie不是基于webkit,但是chrome和safari是。对于您的复选框,有 :before 和 :after 伪类的 CSS 技巧。

在这里查看详细信息http://csscheckbox.com/

于 2013-10-31T11:33:20.920 回答