我在列表中有一个提交按钮:
<ul>
<li><input type="submit" value="Pls don't shift" /></li>
</ul>
- li和input具有不同的背景,这些应该是可定位的。
- 输入框的宽度应该是动态的(根据值而定)。
- 输入框的值应该几乎在输入框的底部。
这些事情减少了解决问题的机会。
问题确切地说是:IE8和IE9会移动值文本,而IE8还会移动背景。
我试图解决它并编写了这个CSS(这只是一个“调试CSS”):
li {
display: block;
width: auto;
border: 1px solid red;
padding: 0;
margin: 0;
float: left;
overflow: hidden;
}
input,
input:active:hover {
display: block;
background: url(tools-48x48.png) no-repeat center center;
width: auto;
height: 60px;
border: 1px solid transparent;
outline: none;
color: #fff;
text-align: center;
position: relative;
overflow: visble;
padding: 0 10px;
margin: 2px;
}
input:active:hover {
border: 1px solid red;
}
最有趣的事情是:现在,如果我点击按钮的文本值,那么它会产生相同的错误移位,但如果我在其他地方点击(在按钮上,但不是在文本值上),那么它就能正常工作。
这就是我想写这篇文章的原因。 如何在IE中禁用提交按钮的 :active 状态?
谢谢!