Android 4.1.2默认浏览器 - 禁用输入字段的呈现问题

Kir*_*Kir 8 html css android

似乎某些版本的默认android浏览器存在渲染问题.如果我创建一个页面,我有一些输入字段和一个按钮,当我禁用其他输入字段时,该按钮显示为灰色(除非这是在页面加载时完成的,你必须点击/缩放一点到让浏览器重新渲染).

有趣的是,它不会将禁用的STYLE应用于按钮,而只是将其灰显.这是一个例子.

链接到编辑器jsfiddle
链接到嵌入式jsfiddle

CSS:

ul { list-style-type:none; }

.xxx {
    background: blue;
    color: white;
}

.xxx:disabled { background-color: red; }
Run Code Online (Sandbox Code Playgroud)

HTML:

<div id="root">
    <ul>
        <li>
            <input name="x" id="enable" class="x" type="radio">Enable</input>
        </li>
        <li>            
            <input name="x" id="disable" class="x" type="radio">Disable</input>
        </li>            
    </ul>
    <input type="button" class="xxx" value="Button"></input>
</div>
Run Code Online (Sandbox Code Playgroud)

JS:

$(function() {
    $('.x:eq(0)').prop('disabled', true);
});
Run Code Online (Sandbox Code Playgroud)

注意事项:

  • 该按钮未被禁用.点击它,它会暂时变为灰色.
  • 按钮的禁用状态有一种样式,将其背景颜色设置为红色(如果禁用该按钮,您将看到此工作),但该示例中的按钮不显示为红色,因此它甚至不仅仅呈现禁用的样式.它似乎主要是将不透明度设置为较低的值
  • 在单选按钮之前的按钮不会受到影响.http://jsfiddle.net/YVFVZ/4/

任何想法如何解决这个问题?

Kir*_*Kir 6

我终于弄明白了.我对这个解决方案并不满意,但似乎有效.

如果将输入包装在position: relative元素中,则可以解决问题.