我有一个html输入。

输入有填充:5px 10px;我希望它是100%的父div的宽度(这是流体)。

然而使用宽度:100%;导致输入为100% + 20px我怎么才能解决这个问题呢?

例子


当前回答

对我来说,使用margin:15px;padding:10px 0 15px 23px;width:100%,结果是这样的:

我的解决方案是使用width:auto代替width:100%。我的新代码是:

边距:15px;填充:10px 0 15px 23px;宽度:自动。然后元素正确对齐:

其他回答

把它包在容器里怎么样?容器应该有这样的风格:

{
    width:100%;
    border: 10px solid transparent;
}

你可以尝试一些定位技巧。你可以把输入放在一个具有position: relative和固定高度的div中,然后在输入上有position: absolute;左:0;右:0;,以及任何你喜欢的填充。

生活的例子

以下是来自codeontrack.com的推荐,其中有很好的解决方案示例:

不要将div的宽度设置为100%,而是将其设置为auto,并确保<div>设置为display: block(默认为<div>)。

对我来说,使用margin:15px;padding:10px 0 15px 23px;width:100%,结果是这样的:

我的解决方案是使用width:auto代替width:100%。我的新代码是:

边距:15px;填充:10px 0 15px 23px;宽度:自动。然后元素正确对齐:

也使用百分比填充,并从宽度中删除:

padding: 5%;
width: 90%;