CSS 宽度和高度
内联元素的高度由字体及行高决定,宽度由内容、padding、border 和 margin 决定。
块级元素的宽度自适应父元素,高度由其内部文档流元素的高度总和决定。若有脱离文档流的则不计算它的高度。
文档流中内联元素默认从左到右排列,宽度不够则自动换行。
文档流中块级元素从上到下排列,每个元素占一行。
空格的宽度由设计师决定。
元素之间无论多少个空格和回车都显示为一个空格。
使用   可以实现多个空格。
word-break:break-all; 可以给长单词换行。
每个字体的建议行高由于字体设计师设计,但我们可以使用 line-height 属性改变。
一个子元素脱离文档流后计算父元素高度不再算它的高度,脱离文档流的方式:float:left; ,position:absolute; ,position:fixed;。
相对定位 position: relative; 不脱离文档流,不管位置怎样移动,父元素计算高度仍要算上它的高度。
不要用 height 设置高度,容易出 Bug。设置高度的话要设置 padding-top 和 padding-bottom。
阻止 margin 合并的方法
这里研究的情况是一个块级元素内包含一个块级元素。
阻止 margin 合并可以设置父元素的上下方向的 padding 或者上下方向的 border  或者 overflow:hidden;。
两种居中方法
这里研究的情况是一个块级元素内包含一个块级元素,要居中的是内部的块级元素,实现上下左右方向的居中。
父元素设置 adding-top 和 padding-bottom ,子元素设置 margin-left 和 margin-right 为 auto。
使用 flex 的居中方法为 display: flex; justify-content:center; align-items:center;