4

我正在尝试使用 css 自定义文本输入,我希望其中的文本向左留出 10px 的边距,所以我使用:

#text{
text-indent: 10px;
border: 1px solid #333;
outline: none;
padding: 0;
margin: 0;
width: 168px;
height: 20px;
border-radius: 4px;
}

它适用于所有浏览器,除了 IE10 似乎忽略了该text-indent属性,我该如何修复它?

<input type="text" id="text" />
4

2 回答 2

8

您可以使用 padding-left,它适用于所有浏览器:

#text {
    padding: 0 0 0 10px;
    border: 1px solid #333;
    outline: none;
    margin: 0;
    width: 158px; //decrease width with the same padding vale so that the width would stay the same
    height: 20px;
    border-radius: 4px;
}
于 2013-03-27T20:56:38.393 回答
8

如果您想为 IE 使用特殊规则,添加display: inline-block和 aline-height以及该text-indent规则也可以解决此问题。这对于 IE7-9 来说也是一个老把戏。

input.special {
    text-indent: 150px;
    display:inline-block;
    line-height: 18px;
}

行得通。

如果您使用的是流动或响应宽度,并且您不想因为填充而调整输入的宽度,这很好。

于 2013-03-28T04:12:54.987 回答