我正在使用jQuery 验证引擎来验证一些表单字段。除了在 IE7 和 IE8 中,一切都运行良好。
样式表有一个 :focus 类,当表单字段被聚焦时,它会给它们一个蓝色的盒子阴影:
input:focus { outline: none; -webkit-box-shadow: 0px 0px 2px 1px #06c !important; -moz-box-shadow: 0px 0px 1px 1px #06c; box-shadow: 0px 0px 1px 1px #06c; }
当表单字段无效时(由 jQuery 验证引擎定义),我正在使用 jQuery 向表单字段添加一个类,以便这些字段可以具有红色框阴影:
input.error { outline: none; -webkit-box-shadow: 0px 0px 2px 1px #c00 !important; -moz-box-shadow: 0px 0px 1px 1px #c00; box-shadow: 0px 0px 1px 1px #c00; }
这很好用……在 IE9、Firefox 和 Chrome 中。它在 IE8 或 7 中不起作用。(当我们停止支持 IE6 时有一个聚会。)我尝试安装 PIE.htc 并添加一个样式选项来指示这些元素的边框,而不是框阴影,但是似乎没有帮助,它导致错误气泡出现其他一些奇怪的显示,所以我删除了 PIE.htc。然后我尝试了一个单独的样式定义,包含在 IE 条件标签中,为这些输入指定边框,但它仍然不起作用。这是我的条件CSS:
<!--[if lte IE 8]>
<style type="text/css">
input:focus { border: 1px solid #06c; }
input.error { border: 1px solid #c00; }
</style>
<![endif]-->
...帮助?