转到http://jsfiddle.net/srLQH/并填写"Result“视图中的输入文本框。
如果您在FF、Chrome和Safari中执行此操作,您的文本将在右侧停止20px。
在IE7/8中,文本不会短到20px --它会一直到输入框的边缘。
IE是怎么回事?如何才能在IE中获得所有其他浏览器提供的相同填充效果?
发布于 2013-09-05 23:34:34
我一直在寻找解决这个问题的方法。一位同事找到了一个解决方案,我们对它进行了测试,它工作得很好。所以要做的是删除padding: right
并添加一个border: 20px solid transparent
。
发布于 2012-02-14 03:21:29
我已经找到了一种方法,但它并不美观。
http://jsfiddle.net/dmitrytorba/dZyzr/162/
<!--[if IE]>
<style type="text/css">
input {
border: none;
margin: 5px;
padding-right: 0px;
}
.wrapper {
border: 1px #aaa inset;
}
.spacer{
margin-left: 20px;
}
</style>
<![endif]-->
<span class='wrapper'>
<input type='text' />
<span class='spacer'></span>
</span>
发布于 2010-09-22 08:55:41
只需将其放入在IE中进行填充的另一个元素中,例如div。这样你就不需要担心丑陋的hack会使你的css样式表失效。记住删除输入中的填充,这样它就不会惹恼其他浏览器。这也是为文本框提供不与IE中的文本一起滚动的背景图像的唯一方法。
https://stackoverflow.com/questions/3765411
复制相似问题