解决img标签间距问题

摘要:
关于img标记间距的问题:多个img之间有间距,包含img标记的div之间有间距。学习之后,我的解决方案是在同一个div下的不同img标记之间不留空格,并将属性fontsize:0添加到img父元素的div标记中。测试显示,本例中的图像大小为200px。如果线高度不大于12,则可以消除间隙。由于距离通常为5px,因此线高度可以设置为约5px;另一个间隙是多个img标记的左右间隙,因为img标记是内联元素。事实上,当内联元素之间有“Enter”、“Tab”和“Space”时,就会出现间隙。

  关于img标签间距问题:多个img之间有间距,包含img标签的div之间有间距。

代码如下:

 1 <!doctype html>
 2 <html lang="en">
 3 <head>
 4     <meta charset="UTF-8">
 5     <title>test</title>
 6     <link rel="stylesheet" type="text/css" href="css/test.css">
 7 </head>
 8 <body>
 9     <div>
10         <img src="images/1.png">
11         <img src="images/2.png">
12         <img src="images/3.png">
13     </div>
14     <div>
15         <img src="images/4.png">
16         <img src="images/5.png">
17         <img src="images/6.png">
18     </div>
19     <div>
20         <img src="images/7.png">
21         <img src="images/8.png">
22         <img src="images/9.png">
23     </div>
24 </body>
25 </html>

谷歌浏览器效果:解决img标签间距问题第1张

火狐浏览器效果:解决img标签间距问题第2张

  我们发现,不同div之间,上下有空白间隙,不同img之间,左右有间隙,而且,不同浏览器的左右间隙大小不同。

  经学习,我的解决办法是,同一个div下不同img标签之间不要留空格,并给img的父元素div标签加上属性font-size:0。这样一来,所有的图片就能够无缝拼接了。

最终效果图:解决img标签间距问题第3张

  下面来说一下为什么这样做可以解决问题。

  块级元素包含内联元素如图片文字等时,内联元素默认是和父级元素的baseline(基线)对齐的,而baseline又和父级元素底边有一定的距离(这个距离和font有关,不一定是5px),所以以上代码的效果中不同div之间有间隙,这是因为图片与父元素的底边有距离。说到baseline呢,其实它是vertical-align属性的默认值,vertical-align属性是设置元素的垂直排列的,用来定义行内元素的基线相对于该元素所在行的基线的垂直对齐,除了baseline对齐方式之外,还可以是sub | super | top | text-top | middle | bottom | text-bottom |inherit(任何的版本的Internet Explorer (包括 IE8)都不支持属性值 "inherit")。

  知道了问题产生的原因,就好对症下药解决问题了,其实就是要消除baseline对齐方式产生的距离。

  所以方法一,很容易想到,把对齐方式改一下不就好了,于是设置img的vertical-align属性为bottom;

  方法二就是上文说的给父元素加上font-size:0的属性,既然这个距离和font有关,那么把字体大小设为0,总该没有距离了吧;

  方法三可由方法二想到,既然为0可以,那把行高设的很小可不可以呢?经试验发现,本例图片大小为200px,设line-height不大于12就能够消除间隙了,鉴于这个距离一般是5px,所以可以把line-height设为5px左右;

  另外一个间隙是多个img标签的左右间隙,是由于img标签是行内元素,而事实是当行内元素之间有“回车”、“tab”、“空格”时就会出现间隙。

  所以方法就是上文提到的,去掉img标签之间所有的空格,如果又不想把所有连续的行内元素写到一行,可以多行注释,把空格回车什么的注释掉,就像下图这样;当连续的行内元素不是img时,也可以通过设置父元素的font-size为0来消除左右间隙。

解决img标签间距问题第4张

免责声明:文章转载自《解决img标签间距问题》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇三层架构之优缺点win10下硬盘安装CentOS7下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

PHP 简易读取文件目录下的文件,生成css spirte图片

因为个人不是对PS熟悉,不清楚如何在PS中生成一张横向有序的spirte图片,使用了"css sprite V4.3"版本,生成的图片会出现压缩图片大小的情况,本想修改原作者开发的程序,但是不懂C#,只好使用PHP gd库进行生成css spirte图片。 1 <?php 2 header("Content-type: image/png");...

使用photoshop以及markman进行快速重构页面的几个步骤

先来几个photoshop打开psd图的标准动作。 ctrl+,ctrl-,放大,缩小psd图的。查看字体大小看T等等。 想psd图出现刻度 你只需要"> 设置度量单位为像素之后,打开我们的标尺 准备切图的时候,使用参考线,便于切图。 切图无外乎切jpg图片和png图片。 第一种:切jpg图片方法。第二种切png图片方法记得是用移动工具 确保...

使用Egret插件压缩代码包体积,减少请求数量的实战教程

在白鹭引擎发布了5.2.7版本中新增加了命令行,增加自动合图插件TextureMergerPlugin功能。今天,我们以一个EUI案例来展示自动合图插件的具体使用方法和注意事项。 此外,我们在本文还融入了UglifyPlugin、ResSplitPlugin、ZipPlugin等插件使用方法。开发者利用上述4款插件,将实现代码包体积更小、更好管理的目标。...

ckeditor粘贴word图片且图片文件自动上传功能

自动导入Word图片,或者粘贴Word内容时自动上传所有的图片,并且最终保留Word样式,这应该是Web编辑器里面最基本的一个需求功能了。一般情况下我们将Word内容粘贴到Web编辑器(富文本编辑器)中时,编辑器都无法自动上传图片。需要用户手动一张张上传Word图片。如果只有一张图片还能够接受,如果图片数量比较多,这种操作就显得非常的麻烦。1、只粘贴图片并...

android图像处理系列之七--图片涂鸦,水印-图片叠加(转载)

图片涂鸦和水印其实是一个功能,实现的方式是一样的,就是一张大图片和一张小点图片叠加即可。前面在android图像处理系列之六--给图片添加边框(下)-图片叠加中也讲到了图片叠加,里面实现的原理是直接操作像素点。下面给出别外一种方式让图片叠加--用Canvas处理图片,canvas已经封装好了,直接调用就行。 下面看效果: + = 代码: [jav...

GIF/PNG/JPG和WEBP/base64/apng图片优点和缺点整理

  GIF/PNG/JPG/WEBP/APNG都是属于位图(位图 ,务必区别于矢量图);   GIF/PNG和JPG这三种格式的图片被广泛应用在现今的互联网中,gif曾在过去互联网初期慢速的情况下几乎是做到了大一统的地位,而现如今随着互联网技术应用和硬件条件的提高,png和jpg格式的图片越来越多的被应用,gif昔日的辉煌一去不复, webp图片格式现在还...