CSS box-sizing对padding的影响
微wx笑
2019-08-01【网页网站】
12
0关键字:
CSS
在去除一个网页“字符组合生成器”对Bootstrap的依赖时,遇到了一个问题,input、textarea的样式是一样的,但是是padding属性的表现不一致,经过一段时间的排查,终于找到原因,原来是b
在去除一个网页“字符组合生成器”对Bootstrap的依赖时,遇到了一个问题,input、textarea的样式是一样的,但是是padding属性的表现不一致,经过一段时间的排查,终于找到原因,原来是box-sizing属性不一致导致的。

我们来看看同样的样式,显示的效果。
样式,关键的是:padding: 7px 7px;
input[type="text"] {
font-size: 12px;
color: #000000;
height: 25px;
border: 1px solid #aaa;
margin: auto 5px 5px auto;
}
input[type="search"], input[type="text"], input[type="url"], input[type="email"], textarea {
padding: 7px 7px;
border: 1px solid #ebebeb;
border-radius: 2px;
-webkit-transition: all 0.2s;
-o-transition: all 0.2s;
transition: all 0.2s;
}当box-sizing: content-box时:输入框的高度变了

当box-sizing: border-box;时:在padding不大于高度的时候,输入框的高度不会改变,当大于的时候才会改变;我这里主要是高度对效果的影响比较大,宽度也是一样的。

解决问题的CSS:
* {
-webkit-box-sizing: border-box;
-moz-box-sizing: border-box;
box-sizing: border-box;
}星号是个通配符,这样就将所有HTML元素的 box-sizing 设置为 border-box,在设置 padding 属性时,就可以尽量减小对宽度高度的影响。
本文由 微wx笑 创作,采用 署名-非商业性使用-相同方式共享 4.0 许可协议,转载请附上原文出处链接及本声明。
原文链接:https://www.ivu4e.cn/blog/web/2019-08-01/79.html



