首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何使元素宽度: 100%减去填充?

如何使元素宽度: 100%减去填充?
EN

Stack Overflow用户
提问于 2011-03-07 19:35:07
回答 12查看 270.2K关注 0票数 443

我有一个html输入。

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

但是,使用width: 100%;会导致输入为100% + 20px,我该如何解决这个问题?

Example

EN

回答 12

Stack Overflow用户

回答已采纳

发布于 2011-03-07 20:15:32

box-sizing: border-box是一种快速、简单的修复方法:

这个will work in all modern browsers和IE8+。

这是一个演示:http://jsfiddle.net/thirtydot/QkmSk/301/

代码语言:javascript
复制
.content {
    width: 100%;
    box-sizing: border-box;
}

浏览器的前缀版本(-webkit-box-sizing等)在现代浏览器中是不需要的。

票数 573
EN

Stack Overflow用户

发布于 2011-03-07 20:34:54

这就是我们在CSS中使用box-sizing的原因。

我已经编辑了你的例子,现在它可以在Safari,Chrome,Firefox和Opera中工作。查看一下:http://jsfiddle.net/mathias/Bupr3/我添加的所有内容是:

代码语言:javascript
复制
input {
  -webkit-box-sizing: border-box;
     -moz-box-sizing: border-box;
          box-sizing: border-box;
}

不幸的是,像IE7这样的老浏览器不支持这一点。如果您正在寻找在旧的IE中工作的解决方案,请查看其他答案。

票数 284
EN

Stack Overflow用户

发布于 2014-03-14 23:14:19

使用css calc()

超级简单和令人敬畏。

代码语言:javascript
复制
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/

我只是把它复制到这里,因为我几乎在另一个线程中错过了它。

票数 25
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5219175

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档