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

html-css027

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

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

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

1.用vertical-align:middle | top| bottom等,让图片不和基线对齐。

上面3中对齐方式都可以

vertical-align不影响块级元素中的内容对齐,它只针对于行内元素或者行内块元素,特别是行内块元素, 通常用来控制图片/表单与文字的对齐。

2.将img通过display: block转为块级元素。

转为块级元素之后,就不存在和父级盒子基线对齐的问题了。

a标签默认是行内元素,而行内元素之间的回车键、多个空格、多个制表符(tab)等均会按一个空格来处理,这样的话,如果相邻的两个a标签不在同一行(换句话说它们之间有回车换行符),则显示在页面的时候它们之间就会出现一个空格的间隙。

因此,要想解决这个问题,最好也是最简单的办法,就是把它们写在同一行且互相之间不留任何字符(包括空格),比如:

<a href="...">链接1</a><a href="...">链接2</a><a href="...">链接3</a>

如果既要把它们写在不同的行,又不想有空隙,可以把a标签改为块级元素。但是要想让块级的a标签仍然排在同一行就要多费一番手脚了,比如通过浮动(浮动时a标签会自动变为块级元素):

<style>

a {float:left}

</style>

<a href="...">链接1</a>

<a href="...">链接2</a>

<a href="...">链接3</a>

<br style="clear:both"/>

此外还可以利用CSS3的弹性盒子flex来实现,这个就不多说了。

<div style="margin:0">

    <img src="1.jpg">

    <img src="2.jpg">

</dvi>

margin:0,外边距为0,就没有缝隙了,还有内边距padding也可以设置为0