css内联元素和区块元素及图片下方出现空隙的解决方法
网页一般是两种元素组合起来的,一种是内联元素,也就是行内显示,加上width和height没效果。一种是区块元素,可以加上对应的width和height,通常使用在网页的布局,最常用的就是<div>标签。
display:block;的意思把内联元素转换为区块元素
而对应的是display:inline;的意思是把区块元素转换成内联元素
例如:
<span></span>就属于内联标签,如果你想把他当做<div></div>这类标签来使用,这时display:block;就可以使用了!【要注意的是,任何标签的使用最好遵循WEB标准】
<ul><li></li></ul>就属于块级元素,你如果想让列表显示在一行,这时就可以对<li>标签设置display:inline;
img与div(block类型元素)下边界有距离解决方法:
图片文字等inline元素默认是和父级元素的baseline对齐的,而baseline又和父级底边有一定距离(这个距离和 font-size,font-family 相关),所以设置 vertical-align:top/bottom/text-top/text-bottom 都可以避免这种情况出现。而且不光li,其他的block元素中包含img也会有这个现象。
解决方案:
法宝一:定义图片img标签vertical-align:bottom,vertical-align:middle,vertical-align:top。
img{vertical-align:bottom;}
法宝二:定义容器里的字体大小为0。
div {
width:110px;
border:1px solid #000000;
font-size:0
}
width:110px;
border:1px solid #000000;
font-size:0
}
法宝三:img默认的是内联块,加display将其变成区块元素,img{display: block}

浙公网安备 33010602011771号