图片和行内块元素默认底线会和父级盒子的基线对齐,因此就会产生白色缝隙。
1.用vertical-align:middle | top| bottom等,让图片不和基线对齐。
上面3中对齐方式都可以
vertical-align不影响块级元素中的内容对齐,它只针对于行内元素或者行内块元素,特别是行内块元素, 通常用来控制图片/表单与文字的对齐。
2.将img通过display: block转为块级元素。
转为块级元素之后,就不存在和父级盒子基线对齐的问题了。
img标签本身是个行内元素,所以当多个img排在一起时,它们之间如果有回车换行或者空格就会形成空隙,比如<img src="图片1" />
<img src="图片2" />
<img src="图片3" />
改成下面这样就没有空隙了
<img src="图片1" /><img src="图片2" /><img src="图片3" />
或者也可以把img改为块级元素,再利用浮动,也可以去掉空隙:
<img src="图片1" style="display:blockfloat:left" />
<img src="图片2" style="display:blockfloat:left" />
<img src="图片3" style="display:blockfloat:left" />
img{display:block}表示将img标签,也就是图片标签变成一个区块
标签是分成
区块
和
内联块
2种
一个标签显示一行的称为
区块,如(段落P,标题H系列,DIV等)
(你没见过在2个P标签放在一行能显示的情况吧)?
若标签能在一行显示N个,表明此标签为
内联块,如(<a>,<img>,<input>)
区块和内联块最大的区别就是,区块可以设置宽、高、居中对齐等操作,而内联块不行
也就是说,当你需要将一张图片居中,或者要设置区域大小,或单独一行显示,就用到你说的这个样式
反之,你若想把区块变为内联块,则将display:none就可以了
PS:区分区块还是内联块其实很简单,你可以把这个标签加一个背景颜色,若能占一行,则为区块,反之则是内联块
希望对你有帮助~~~