box-sizing
- content-box 是默认值。如果你设置一个元素width:100px,那么这个元素的内容区会有100px 宽,并且任何边框和padding的宽度都会被增加到最后绘制出来的元素宽度中,所以元素的总高度会大于100px。
- border-box 告诉浏览器:你想要设置的边框和padding的值是包含在width内的。也就是说,如果你将一个元素的width设为100px,那么这100px会包含它的border和padding,内容区的实际宽度是width减去(border + padding)的值。大多数情况下,这使得我们更容易地设定一个元素的宽高。
导致的问题
项目中有一个文本框需要垂直居中,height:20px;boeder:1px;line-height:20px;;
本来理论上讲,因为默认值是content-box;所以应该直接垂直居中;
但是不知道该元素从哪里继承了一个boeder-box;
所以问题就出现了,不垂直居中了;实际高度只有18px了;所以需要把line-height设置为18px才是垂直居中