为什么css图片之间有间隙?怎么解决?

html-css08

为什么css图片之间有间隙?怎么解决?,第1张

太久没用的东西,偶然用到,竟然忘记了,所以记录一下,加深一下印象

图片和行内块元素默认底线会和父级盒子的基线对齐,因此就会产生白色缝隙。

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:区分区块还是内联块其实很简单,你可以把这个标签加一个背景颜色,若能占一行,则为区块,反之则是内联块

希望对你有帮助~~~