转换成块和行内块的问题

当我在div盒子里的a转换成行内块元素时,随着font-size的变化顶部会有缝隙产生。但是转换成块元素时就不会收font-size影响,请问是什么原因?
body代码

img


css样式

img

转换成inline-block行内块时有缝隙

img


转换成block块元素时无缝隙

img

产生原因:浏览器在解析HTML代码时,将上一行的结束标签和下一行的开始标签,解析为空格。
解决方法:1.将HTML代码写在同一行。2.将父元素字体大小设置为0,行内块元素内的字体单独设置。
可以给.logo样式加上:font-size:0

看代码是没有问题,你是不是哪里设置了上边距margin?
在a是行内元素的时候,上边距是无效的,转成块元素就生效了。

代码是没问题 题主不妨清除一下浏览器自带的边距 *{margin:0,padding:0}

可以查一下绝对定位和相对定位的区别。还有这个logo和字体的宽度,字体的宽度尽量不要超出logo这个父级元素的宽度。