1.width:auto与height:auto
父级div高度设置为auto,里面子集有高度,但是父级元素的高依然为0;
解决:子集元素是浮动的,父级读不到其高度,所以只需要清楚内部浮动既可以解决,故给父级加上overflow:hidden即可;
而width:auto:会将元素撑开至整个父元素width,但是会减去子节点自己的margin,padding或者border的大小。
2.对于span,p等此类没有宽高的元素来说,margin-left和margin-right对其是有效的,但是margin-top和margin-bottom是无效的,需要转化为块级元素或水平块级元素才会有效,即display:block或者display:inline-block;
float会将span转化为块级元素,但是如果span的子集使用绝对定位脱离了文档流,则其读不到内部宽度,故width也会为0;
3.父元素与子元素之间有时会产生默认缝隙,如下图:很明显,蓝色放大镜图片与父元素的下边缘有一条白色默认缝隙,