swmozowtfl 发表于 2015-7-9 23:14:21

css页面排版图片下边出现空隙解决方法

页面排版的时候经常会遇到li包含img时,图片文件的下边缘出现大概5个或10个像素的间隙,出现间隙大概是以下原因:
图片文字等inline元素默认是和父级元素的baseline对齐的,而baseline又和父级底边有一定距离(这个距离和 font-size,font-family 相关,不一定是 5px),所以设置 vertical-align:top/bottom/text-top/text-bottom 都可以避免这种情况出现。而且不光li,其他的block元素中包含img也会有这个现象,只要是inline元素和父级元素是baseline的属性的对齐。
html会把图片默认为内联级元素和文字是一样的,那文字的话,给他设置不同的文字大小或字体,肯定会有不同的行高,或者它们会有默认的行高。这样就有了img下面的空隙。
具体解决办法:
第一,给图片img标签display:block。
1 img {display:block}
第二,定义容器里的字体大小为0。
1 div {
2 width:110px;
3 border:1px solid #000;
4 font-size:0
5 }
第三,定义图片img标签vertical-align:bottom,vertical-align:middle,vertical-align:top
1 img{vertical-align:bottom;}
至于html属性align=”center”(对于图片浏览器会处理成align=”middle”)的解决办法,就相当于vertical-align:middle; 所以道理也是一样的,只要vertical-align不取baseline,这个空隙就消失了。
相关说明
1.ie的显示有几种模式,在html文档的开始部分声明<!doctype ….>
如果声明为strict模式,ie以w3c的方式显示文档,而w3c的标准里面<img />默认是一个inline的标签,除非自己显式的声明为 block.
2.那个空隙是ie针对盒模型默认的line-height和font-size. 给img desplay:block;虽然能解决问题,但没从结构上来考虑.可谓治标不治本.

更多网页制作信息请查看: 网页制作

Mqokjdvq 发表于 2015-9-20 11:20:32

本人是文盲,以上内容文字均不认识,也看不懂是什么意思.

buingeEvineus 发表于 2015-9-20 11:20:31

俺灌的不是水,是寂寞啊!

wwzcdenleclv 发表于 2015-9-20 11:20:09

哈哈~` 好久没有笑喽~

seazvyt 发表于 2015-9-20 11:20:29

呵呵 没事怎么有点被讽刺的味道啊

Acropozelan 发表于 2015-9-20 11:19:53

我率天兵天将 将你打回原形~~~

Acropozelan 发表于 2015-9-30 21:31:18

我不是来为楼主呐喊加油的,也不是对楼主进行围堵攻击的。

Mqokjdvq 发表于 2015-9-30 21:32:09

晚安 别让小嫁再郁闷了 -

seazvyt 发表于 2015-9-30 21:31:31

我是来收集资料滴...

wwzcdenleclv 发表于 2015-9-30 21:31:49

呵呵 我可不敢~~~~

buingeEvineus 发表于 2015-9-30 21:31:06

怎么就没人拜我为偶像那??

wwdu926a 发表于 2017-4-10 21:54:18

做为老人!在吧里我都懒的都不想说话!送完经验我就走!

seazvyt 发表于 2017-4-10 21:56:28

有现实中的偶在这...不佩服.............佩服电影里的....

alapScady 发表于 2017-4-10 21:57:37

晕倒`````不要造我的谣言哦~~小心我打你pp~~嘿嘿~~~~

tohme 发表于 2017-4-10 21:58:31

哎 我我我怎么办啊??
页: [1] 2
查看完整版本: css页面排版图片下边出现空隙解决方法