css - 复选框附近的虚线边框 IE9

标签 css extjs checkbox internet-explorer-9 outline

我使用 EXT.Js 框架,但遇到 IE9 问题(在 IE8 和以前的版本中都工作正常):单击时所有复选框附近出现虚线边框。 我试图在主 css 文件中设置:

body.ext-ie input{
    outline: none;
}

但它不起作用。

我认为这是关于与我的复选框相关联的标签,但我真的不知道如何修复它。

我的问题的一个例子:

wrong behavior in red

ExtJs 代码,生成这个复选框是:

{
    fieldLabel: 'XXXX XXXX',    
    name: 'XXXX',                
    xtype: 'checkbox',    
    disabled: !isXXXXX}

此处提供了一个 css 文件:css file

UPD 1

我已将 ExtJS 文件更正如下: JS:

items [{
    fieldLabel: 'xxx',    
    name: 'xxx',                
    xtype: 'checkbox', 
    style: {outline: 'none'}, 
    onfocus: function() {this.style.outline = "none"; }
 }]

它生成以下 html:

<div class="x-form-check-wrap" id="ext-gen271" style="width: 180px;">
  <input type="checkbox" autocomplete="off" id="ext-comp-1161" name="persistentRecoveryEnabled" class=" x-form- 
 checkbox x-form-field" style="outline: none;" checked="">
  <label for="ext-comp-1161" class="x-form-cb-label" id="ext-gen272">&nbsp;</label>
</div>

在文档模式 Quirks 模式(页面默认)中,虚线出现在“x-form-cb-label”周围。

在文档模式下,IE9 Standarts 虚线不会出现此设置。

CSS 修改根本没有帮助。

那么,有两个问题:

  1. 如何通过JS给class="x-form-cb-label"设置样式?
  2. 如何通过 JS 将 Document Mode IE9 Standarts 设置为 Page Default? (html 由 ExtJS 生成)

最佳答案

是的,正如您所怀疑的,它是围绕您的字段的 labeloutline

隐藏 outline 的代码不起作用的原因是你在字段中指定了 outline,而不是标签。

(虽然给出了您向我们展示的代码,但我想知道为什么它是一个空格而不是说 XXXX XXXX?)

如果你想隐藏它,你应该使用label作为你的选择器而不是input:

label {
    outline: 0;
}

不过,在您这样做之前,值得指出的是,当前所选字段周围的虚线轮廓对于某些用户来说是一项重要功能。特别是,无法使用鼠标的残障用户在使用键盘浏览网站时会依赖它,这样他们就可以知道自己在页面上的位置。

如果您隐藏,您将主动歧视这些用户。 (根据您的网站受众,这对您来说可能不是特别重要,但请注意,这在某些国家/地区是非法的)

关于css - 复选框附近的虚线边框 IE9,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15687147/

相关文章:

javascript - 具有多个值的 Ext.util.Filter

javascript - 将复选框绑定(bind)到 Ember 2+ 中一个数组的元素

HTML:两列层,一列具有自动高度,另一列具有自动宽度

html - 带标题的画廊方形缩图

extjs - 在 extjs 中如何将存储数据绑定(bind)到网格

extjs - 无法在 AEM 中的对话框上显示图像

Android:更改复选框背景颜色而不更改文本颜色

javascript - 使用 jquery 在复选框选择上显示/隐藏列

javascript - 跳下 anchor (在 table 上)

css - 2个 float div,需要第一个根据父div和第二个 float div自动调整大小