我有一个html输入。
输入有填充:5px 10px;我希望它是100%的父div的宽度(这是流体)。
然而使用宽度:100%;导致输入为100% + 20px我怎么才能解决这个问题呢?
例子
我有一个html输入。
输入有填充:5px 10px;我希望它是100%的父div的宽度(这是流体)。
然而使用宽度:100%;导致输入为100% + 20px我怎么才能解决这个问题呢?
例子
当前回答
这就是为什么我们在CSS中使用box-sizing。
我已经编辑了您的示例,现在它可以在Safari, Chrome, Firefox和Opera中工作。去http://jsfiddle.net/mathias/Bupr3/看看吧 我只是补充说:
input {
-webkit-box-sizing: border-box;
-moz-box-sizing: border-box;
box-sizing: border-box;
}
不幸的是,旧的浏览器如IE7不支持这一点。如果您正在寻找一个适用于旧ie的解决方案,请查看其他答案。
其他回答
试试这个:
width: 100%;
box-sizing: border-box;
Box-sizing: border-box是一个快速,简单的方法来修复它:
这将适用于所有现代浏览器和IE8+。
这里是一个演示:http://jsfiddle.net/thirtydot/QkmSk/301/
.content {
width: 100%;
box-sizing: border-box;
}
在现代浏览器中不需要浏览器前缀版本(-webkit-box-sizing等)。
只需要理解width:auto;宽度:100%; 宽度:汽车;将(自动)matic计算宽度,以适应准确给定的包装div,包括填充。 Width 100%扩展宽度并添加填充。
你可以这样做:
width: auto;
padding: 20px;
把它包在容器里怎么样?容器应该有这样的风格:
{
width:100%;
border: 10px solid transparent;
}