提出问题
div 里嵌套一个 img 元素,且 div 的高度是由 img 的 高度 来撑开,那么 div 的高度总会比 img 的 高度多 3px
例子
css:
#header{
width : 400px ;
border : 1px solid #000 ; /* 为了方便观察,此处给div加了1px的边框 */
}
#header img{
width: 100% ;
}
html:
<div id = "header">
<img src="img/header.png"/>
</div>
分析
img 是一种类似 text的元素,在结束的时候,会在末尾加上一个 空白符,所以就会多出3px
如果 div 包裹 a 标签也会出现同样的问题
解决方法
设置
div{ font-size: 0}将外层块级标签的font-size设置为0;设置
div高度设置
img{ display: block}将内层行内标签的display设置为block,将其变为块级标签;设置
img{ vertical-align:top;}将内层行内标签的vertical-align设置为top;