不论left还是right定义了auto,计算值都会是包含块的剩余空间,如果左右都设置了auto,那么就会均分剩余空间。
margin 是复合属性,也就是说 margin: auto; 其实相当于 margin: auto auto auto auto;,margin: 0 auto;相当于 margin: 0 auto 0 auto;,四个值分别对应上右下左。
根据规范,margin-top: auto; 和 margin-bottom: auto;,其计算值为0。这也就解释了为什么 margin: auto; 等同于 margin: 0 auto;。