我有一个html输入。
输入有padding: 5px 10px;
,我希望它是父div宽度的100% (这是流体)。
但是,使用width: 100%;
会导致输入为100% + 20px
,我该如何解决这个问题?
发布于 2011-03-07 20:15:32
box-sizing: border-box
是一种快速、简单的修复方法:
这个will work in all modern browsers和IE8+。
这是一个演示:http://jsfiddle.net/thirtydot/QkmSk/301/
.content {
width: 100%;
box-sizing: border-box;
}
浏览器的前缀版本(-webkit-box-sizing
等)在现代浏览器中是不需要的。
发布于 2011-03-07 20:34:54
这就是我们在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中工作的解决方案,请查看其他答案。
发布于 2014-03-14 23:14:19
使用css calc()
超级简单和令人敬畏。
input {
width: -moz-calc(100% - 15px);
width: -webkit-calc(100% - 15px);
width: calc(100% - 15px);
}
如下所示:Div width 100% minus fixed amount of pixels
作者: webvitaly (https://stackoverflow.com/users/713523/webvitaly)
原文来源:http://web-profile.com.ua/css/dev/css-width-100prc-minus-100px/
我只是把它复制到这里,因为我几乎在另一个线程中错过了它。
https://stackoverflow.com/questions/5219175
复制相似问题