欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  web前端

img与父元素的间隙解决

程序员文章站 2022-05-15 11:10:24
...
 近来在做H5页面时,突然发现一个问题,使用一个div包裹一个img,在手机预览时,发现图片与div之间有间隙。

img与父元素的间隙解决

 当时第一反应就是,是不是间距没有设置为0,于是预览了下代码:

  .active img {

    width:100%;

    margin: 0;

  }

 后来浏览了一些技术文档,发现了问题所在,原来是因为在H5文档声明下,块状元素内部的内联元素的行为表现所致,简单地说就好像块状元素内部有个看不见的没有宽度的空白节点。
而不设置vertical-align属性,vertical-align默认是baseline。
现解决方案有如下两种:
1.第一种最直接的解决方法是:

设置img的标签:vertical-align:bottom

修改后的的代码:
.active img{
  width:100%;
  margin:0;
  vertical-align:bottom;//top和bottom都可以
}

2.由于baseline是设置行内元素(inline)或者表格单元素(table-cell)的垂直对齐方式,所以可以将img转换成块级元素。
第二种方法:display:block,把父元素的font-size设为0
修改后的代码:
.active img{
  width:100%;
  margin:0;
  display:block;
}

.active{
font-size;0;
...
}

 总结:第一次写随笔记录自己工作遇到的点点滴滴,可能写的不好,还请大牛多指导。