Telegram中文版

【CSS】图像产生间隙,空一行,如何解决?完美解决跨浏览器兼容教学


在 img 元素的父元素中,试着显示出背景或 border 时,发现 img 元素之下,会产生一道小小的间隙,红框处这并非浏览器的 bug,而是依照 CSS 的规格,vertiical-align的起始值为 「 baseline 」,因此图像下方会对齐「 baseline 」的位置而产生此现象。我们在使用IE6、IE7、IE8、googleChrome、FireFox浏览器时,有时候加入图片CSS下方会产生一些间隙和空一行,那要如何解决呢?来教大家如何解决跨浏览器兼容这些问题!





解决方案

技巧一:更变vertical-align的质

只要将vertiical-align属性的值,从起始值的「baseline」变更为对齐该行整理下方的「bottom」即可。由於vertiical-align是行内元素中可直接设定的属性,因此只要以img元素为套用对象,设定「vertiical-align:bottom;」,则图像下方的间隙就会消失。
HTML程式码:
< h1 >
< img scr "telegram电脑版中文、电脑频道大全.jpg " />
< / h1 >
CSS程式码
h1 { background-color: #FFFFFF;}
img { vertiical - align: bottom;}



方式 二:改变区块属性

由於vertiical-align属性是设定行内元素(以及th元素及td元素)之垂直位置的属性,所以不会影响区块层级元素。因此在img元素中设定「display:block;」的话,图像下方就不会出现间隙了。
HTML程式码:
< h1 >
< img scr " telegram电脑版中文、电脑频道大全.jpg " />
< / h1 >
CSS程式码

h1 { background-color: #FFFFFF;}
img { display:block;}



实用教学伸延阅读