我在右对齐的输入字段中遇到了一些关于填充的IE10诡计。
检查这个小提琴http://jsfiddle.net/fhWhn/
::-ms-clear, ::-ms-clear{
display: none;
}
这会删除“IE10图标”,但如果我想保留这些图标并保留我的填充,该怎么办? 在onblur之后还有另一种更聪明的方法来保持填充吗?
答案 0 :(得分:5)
我遇到了同样的问题。要获得填充,只需将文本框的值设置为模糊。
我的简单解决方案:
$("input[type='text']").blur(function (evt){
var $element = $(this);
$element.val($element.val());
});
答案 1 :(得分:5)
可能的解决方法是在输入中使用样式direction: rtl;
,这会将 ×
移动到元素的左侧。但是,使用从右到左的行为可能不适合您的情况。
答案 2 :(得分:0)
编辑:Eric的解决方案对我有用并且更好,但是我在这里留下这个答案以防IE的未来版本需要不同的修复
新IE,新的IE特定渲染问题......
我一直在调试相同的行为。我发现迄今为止唯一有用的是:
$this.css("padding-right", "")
,删除任何每个元素的值并允许计算的CSS值接管)。然而,这当然是不可取的,因为它涉及当用户可能正在打字时从输入中移除焦点。
答案 3 :(得分:0)
我认为JustinStolle的答案是最好的方法。
示例:
input[type="text"].field-al-right{
text-align:right;
direction:rtl;
}
答案 4 :(得分:-1)
您是否尝试添加' box-sizing'你的css?
* {
-moz-box-sizing: border-box;
-webkit-box-sizing: border-box;
box-sizing: border-box;
padding: 0;
margin: 0;
}